home *** CD-ROM | disk | FTP | other *** search
/ MacTech 1 to 12 / MacTech-vol-1-12.toast / Reference / the cmsp digests ('94-'97) / csmp digest Vol 3 No 030 < prev    next >
Internet Message Format  |  1997-05-06  |  203KB

  1. From: pottier@clipper.ens.fr (Francois Pottier)
  2. Subject: csmp-digest-v3-030
  3. Date: Wed, 25 May 94 10:42:16 MET DST
  4.  
  5. C.S.M.P. Digest             Wed, 25 May 94       Volume 3 : Issue 30
  6.  
  7. Today's Topics:
  8.  
  9.         Apple's blatant disregard for User Interface Guidelines
  10.         List Manager clikLoop problem... but whose it?
  11.         Opening a file with C standard i-o routines
  12.         Sym CDK vs CodeWarrior PPC: first impressions
  13.         Where is the inheritance in AE objects?
  14.         [Q] How to prevent _DragWindow from selecting the window?
  15.         [Q] casting Str255 <--> (char*)
  16.  
  17.  
  18.  
  19. The Comp.Sys.Mac.Programmer Digest is moderated by Francois Pottier
  20. (pottier@clipper.ens.fr).
  21.  
  22. The digest is a collection of article threads from the internet newsgroup
  23. comp.sys.mac.programmer.  It is designed for people who read c.s.m.p. semi-
  24. regularly and want an archive of the discussions.  If you don't know what a
  25. newsgroup is, you probably don't have access to it.  Ask your systems
  26. administrator(s) for details.  If you don't have access to news, you may
  27. still be able to post messages to the group by using a mail server like
  28. anon.penet.fi (mail help@anon.penet.fi for more information).
  29.  
  30. Each issue of the digest contains one or more sets of articles (called
  31. threads), with each set corresponding to a 'discussion' of a particular
  32. subject.  The articles are not edited; all articles included in this digest
  33. are in their original posted form (as received by our news server at
  34. nef.ens.fr).  Article threads are not added to the digest until the last
  35. article added to the thread is at least two weeks old (this is to ensure that
  36. the thread is dead before adding it to the digest).  Article threads that
  37. consist of only one message are generally not included in the digest.
  38.  
  39. The digest is officially distributed by two means, by email and ftp.
  40.  
  41. If you want to receive the digest by mail, send email to listserv@ens.fr
  42. with no subject and one of the following commands as body:
  43.     help                        Sends you a summary of commands
  44.     subscribe csmp-digest Your Name    Adds you to the mailing list
  45.     signoff csmp-digest            Removes you from the list
  46. Once you have subscribed, you will automatically receive each new
  47. issue as it is created.
  48.  
  49. The official ftp info is //ftp.dartmouth.edu/pub/csmp-digest.
  50. Questions related to the ftp site should be directed to
  51. scott.silver@dartmouth.edu. Currently no previous volumes of the CSMP
  52. digest are available there.
  53.  
  54. Also, the digests are available to WAIS users as comp.sys.mac.programmer.src.
  55.  
  56.  
  57. -------------------------------------------------------
  58.  
  59. >From jjvbl@lhdsy1.lahabra.chevron.com (John V. Blzka)
  60. Subject: Apple's blatant disregard for User Interface Guidelines
  61. Date: 2 May 94 15:26:59 GMT
  62. Organization: Chevron, La Habra, CA
  63.  
  64. Hello,
  65. I've been working on a presentation on Human Factors Engineering.
  66. I am using Apple's User Interface Guidelines as an example.  
  67. What I would like to know is:
  68.   Does Apple violate it's own Guidelines in any of it's System 7  
  69.   software?
  70.   If so, can I easily demonstrate it?
  71.  
  72. Thanks in advance,
  73. John
  74. jjvbl@chevron.com
  75.  
  76. -- 
  77. ===================================================================
  78. John Blyzka                      | jjvbl@chevron.com
  79. "the BLITZ"                      | "only the good die young"
  80.  
  81.  
  82. +++++++++++++++++++++++++++
  83.  
  84. >From cwiltgen@mcs.com (Charles Wiltgen)
  85. Date: Tue, 03 May 1994 19:54:07 -0600
  86. Organization: Lederhosen 'R' Us - Worldwide Leaders in Lederhosen
  87.  
  88. In article <16674@lhdsy1.lahabra.chevron.com>,
  89. jjvbl@lhdsy1.lahabra.chevron.com (John V. Blzka) wrote:
  90.  
  91. > Hello,
  92. > I've been working on a presentation on Human Factors Engineering.
  93. > I am using Apple's User Interface Guidelines as an example.  
  94. > What I would like to know is:
  95. >   Does Apple violate it's own Guidelines in any of it's System 7  
  96. >   software?
  97. >   If so, can I easily demonstrate it?
  98.  
  99. How 'bout dragging a disk to the trash to eject it?
  100.  
  101. -- 
  102. Charles Wiltgen    "Love is a snowmobile racing across the tundra and
  103. cwiltgen@mcs.com    then suddenly it flips over, pinning you underneath.
  104. (INTP)              At night, the ice weasels come." - Nietzsche (Groening)
  105. World Wide Web      http://venus.mcs.net/~cwiltgen/home.html
  106.  
  107. +++++++++++++++++++++++++++
  108.  
  109. >From rmah@panix.com (Robert S. Mah)
  110. Date: Tue, 03 May 1994 21:57:11 -0500
  111. Organization: One Step Beyond
  112.  
  113. cwiltgen@mcs.com (Charles Wiltgen) wrote:
  114.  
  115. > jjvbl@lhdsy1.lahabra.chevron.com (John V. Blzka) wrote:
  116. > > I've been working on a presentation on Human Factors Engineering.
  117. > > I am using Apple's User Interface Guidelines as an example.  
  118. > > What I would like to know is:
  119. > >   Does Apple violate it's own Guidelines in any of it's System 7  
  120. > >   software?  If so, can I easily demonstrate it?
  121. > How 'bout dragging a disk to the trash to eject it?
  122.  
  123. That is, in fact, a wonderful example of the _process_ of iterative
  124. user interface design.  Complete with pragmatic compromises and soul
  125. searching about paradigm stability and all that.
  126.  
  127. There was a thread over in comp.human-factors about this where one of
  128. Apple's Human Interface people stopped by and asked for suggestions.
  129. The winner got a T-shirt.  Suffice it to say that no one could come up
  130. with anything better, given the constraints at hand.  It's a pretty
  131. damn tough problem.
  132.  
  133. Cheers,
  134. Rob
  135. ___________________________________________________________________________
  136. Robert S. Mah  -=-  One Step Beyond  -=-  212-947-6507  -=-  rmah@panix.com
  137.  
  138. +++++++++++++++++++++++++++
  139.  
  140. >From pcastine@jake.prz.tu-berlin.de (Peter Castine)
  141. Date: Wed, 4 May 1994 11:13:39 GMT
  142. Organization: PRZ TU-Berlin
  143.  
  144. jjvbl@lhdsy1.lahabra.chevron.com (John V. Blzka) asked:
  145. >>   Does Apple violate it's own Guidelines in any of it's System 7  
  146. >>   software?
  147. >>   If so, can I easily demonstrate it?
  148.  
  149. cwiltgen@mcs.com (Charles Wiltgen) replied:
  150. >How 'bout dragging a disk to the trash to eject it?
  151.  
  152. Although the semantics and history of this gesture have been
  153. much debated, I find myself asking "What Human Interface
  154. Principle does this violate?" It certainly supports the
  155. principles Direct Manipulation, See-and-Point, and User
  156. Control. Admittedly, it weakens the metaphor of trashcan-
  157. as-device-of-destruction, but since that's not what the
  158. trash can is (it's more a metaphor of device-to-get-things
  159. -off-my-desktop) and metaphors are meant to be *extensible*
  160. ("Metaphors in the computer interface suggest a use for
  161. something, but that use doesn't define or limit the 
  162. implementation of the metaphor", _Macintosh Human Interface
  163. Guidelines_ p. 5), that's not really the problem. 
  164.  
  165. In short, although dragging a disk to the trash (as an
  166. alternative to the Put Away command) may seem to be
  167. a strange gesture, it's not a violation.
  168.  
  169. As far was the original question is concerned, you
  170. can find a number of violations if you want to nit-pick.
  171. For instance, ResEdit 2.1.1 does not use the new,
  172. canonical layout for its "Maybe you want to save
  173. before closing/quitting?" dialog. Also, some of
  174. the recommendations regarding movabale modal
  175. dialogs and modeless dialogs were slow in percolating
  176. through to the entire system software. 
  177.  
  178. I think, however, you will be hard-pressed to find
  179. a violation in the Finder.
  180.  
  181. Hope this helps,
  182.  
  183. -- 
  184. Peter Castine                      | Da sprach Jesus zu ihm: Stecke dein
  185. pcastine@prz.tu-berlin.de          | Schwerdt an seinen Ort; denn wer das
  186. - ---------------------------------| Schwerdt nimmt, der soll durchs
  187.      ``Have Mac, will travel''     | Schwerdt umkommen. (Matthai 26:52)
  188.  
  189. +++++++++++++++++++++++++++
  190.  
  191. >From u9119523@sys.uea.ac.uk (Graham Cox)
  192. Date: Wed, 4 May 1994 20:24:52 GMT
  193. Organization: School of Information Systems, UEA, Norwich
  194.  
  195. In article <cwiltgen-030594195407@cwiltgen.pr.mcs.net>, cwiltgen@mcs.com
  196. (Charles Wiltgen) wrote:
  197.  
  198. > In article <16674@lhdsy1.lahabra.chevron.com>,
  199. > jjvbl@lhdsy1.lahabra.chevron.com (John V. Blzka) wrote:
  200. > > Hello,
  201. > > I've been working on a presentation on Human Factors Engineering.
  202. > > I am using Apple's User Interface Guidelines as an example.  
  203. > > What I would like to know is:
  204. > >   Does Apple violate it's own Guidelines in any of it's System 7  
  205. > >   software?
  206. > >   If so, can I easily demonstrate it?
  207. > How 'bout dragging a disk to the trash to eject it?
  208.  
  209.  
  210. Oh, THAT old chestnut! Be honest- could YOU live without it?
  211.  
  212. Here's a trivial example- not in the system but in most graphics programs,
  213. including MacDraw and ClarisWorks- the guidelines say that the cursor keys
  214. should never be used to position graphic elements, but most programs do
  215. this. However, in my opinion, it is the guideline that's stupid- WHY NOT!!!
  216.  
  217.  
  218.  
  219. > -- 
  220. > Charles Wiltgen    "Love is a snowmobile racing across the tundra and
  221. > cwiltgen@mcs.com    then suddenly it flips over, pinning you underneath.
  222. > (INTP)              At night, the ice weasels come." - Nietzsche (Groening)
  223. > World Wide Web      http://venus.mcs.net/~cwiltgen/home.html
  224.  
  225. - ------------------------------------------------------------------------
  226. Love & BSWK, Graham
  227.  
  228. -Everyone is entitled to their opinion, no matter how wrong they may be...
  229. - ------------------------------------------------------------------------
  230.  
  231. +++++++++++++++++++++++++++
  232.  
  233. >From zz1bb@impending.ucsd.edu (Barry Brown)
  234. Date: 4 May 94 17:17:18 GMT
  235. Organization: (none)
  236.  
  237. In <1994May4.111339.29072@prz.tu-berlin.de> pcastine@jake.prz.tu-berlin.de (Peter Castine) writes:
  238.  
  239. >jjvbl@lhdsy1.lahabra.chevron.com (John V. Blzka) asked:
  240. >>>   Does Apple violate it's own Guidelines in any of it's System 7  
  241. >>>   software?
  242. >>>   If so, can I easily demonstrate it?
  243.  
  244. >cwiltgen@mcs.com (Charles Wiltgen) replied:
  245. >>How 'bout dragging a disk to the trash to eject it?
  246.  
  247. >Although the semantics and history of this gesture have been
  248. >much debated, I find myself asking "What Human Interface
  249. >Principle does this violate?" It certainly supports the
  250. >principles Direct Manipulation, See-and-Point, and User
  251. >Control.
  252.  
  253. I believe it violates the (perhaps unwritten) "no surprises" and the "one
  254. object, one action" rules.
  255.  
  256. A novice user is surprised to find out that trashing a disk doesn't erase
  257. it, but ejects it instead.  S/he also discovers that selecting Eject from
  258. the Special menu doesn't remove the disk image from the desktop and may even
  259. ask him/her for the disk again in the future!
  260.  
  261. Second, the Trash can is used for two purposes: removing files and ejecting
  262. disks -- two very different actions.  The Trash is just a folder (albeit a
  263. special one); trashed files show up in its window before you empty it.  Why
  264. don't trashed disks show up in it, either?
  265.  
  266. -- 
  267. Barry E. Brown                          Internet: bbrown@ucsd.edu
  268. UCSD Academic Computing Services        AOL:      BarryBrown
  269. Student Consultant
  270. <a href="http://www-cse.ucsd.edu/users/bbrown">My WWW Home Page</a>
  271.  
  272. +++++++++++++++++++++++++++
  273.  
  274. >From sjb8502@ucs.usl.edu (Bienvenu Jay )
  275. Date: Wed, 4 May 1994 18:06:50 GMT
  276. Organization: Univ. of Southwestern La., Lafayette
  277.  
  278.  
  279. Does Claris count as part of Apple?  If so, I've got one:
  280. MacWrite does not display a watch cursor while saving a file.
  281.  
  282. Jay Bienvenu
  283. sjb8502@usl.edu
  284.  
  285. +++++++++++++++++++++++++++
  286.  
  287. >From Paul Ferguson <pferguson@kaleida.com>
  288. Date: 4 May 1994 23:48:17 GMT
  289. Organization: Kaleida Labs, Inc.
  290.  
  291. In article <16674@lhdsy1.lahabra.chevron.com> John V. Blzka,
  292. jjvbl@lhdsy1.lahabra.chevron.com writes:
  293. > Does Apple violate it's own Guidelines in any of it's System 7  
  294. > software?
  295.  
  296. One classic example that comes to mind is the Alarm Clock, which
  297. suffers from a bunch of violations:  non-standard controls,
  298. non-standard title bar (not to mention using the title bar to
  299. display the time), non-standard close box, a cross-hair cursor to
  300. select a field, the big-small display modes, flashing the Apple
  301. menu forever when the alarm goes off (how many people at some
  302. point in their life were mystified to see a flashing alarm clock
  303. where the Apple menu is?)  It's hard to find anything about the
  304. alarm clock that doesn't violate the HIG.
  305.  
  306. Rumor has it that this DA was originally developed by Microsoft,
  307. which might explain some of it.  It has not evolved at all from
  308. it's earliest incarnation, which is pretty lame on Apple's part.
  309. How hard is it to write an alarm clock?
  310.  
  311. --fergy
  312.  
  313. +++++++++++++++++++++++++++
  314.  
  315. >From Brad Koehn <koehn@macc.wisc.edu>
  316. Date: 5 May 1994 01:35:32 GMT
  317. Organization: University of Wisconsin
  318.  
  319. In article <1994May4.111339.29072@prz.tu-berlin.de> Peter Castine,
  320. pcastine@jake.prz.tu-berlin.de writes:
  321. >I think, however, you will be hard-pressed to find
  322. >a violation in the Finder.
  323.  
  324. Oh, let's see, where to start:
  325. If you get info on a file on a server, or on a local volume with file
  326. sharing turned on, clicking on the name changes it to it's DOS equivilant.
  327.  
  328. It doesn't give background applications any time (hardly). I know this
  329. probably isn't spelled out in the HIG, but it should be.
  330.  
  331. When copying files, the menus don't dim. If you click in the menu bar
  332. during a copy, the dim all of a sudden.
  333.  
  334. With the sharing box open, there's now way to save changes. You have to
  335. hit the close box, and dismiss the (up to three) annoying dialogs.
  336.  
  337. Dragging items onto a system folder that's not the one you booted with
  338. doesn't put them in the right place, even if the icons in the folder
  339. (e.g. apple menu items folder) show correctly.
  340.  
  341. You may call these bugs, but I say bugs are the most obvious form of HIG
  342. violation.
  343. _________________________________________________________________________
  344. Brad Koehn          Data Transformations, Inc.        koehn@macc.wisc.edu
  345.  
  346. +++++++++++++++++++++++++++
  347.  
  348. >From quinn@cs.uwa.edu.au (Quinn "The Eskimo!")
  349. Date: Thu, 05 May 1994 10:03:13 +0800
  350. Organization: Department of Computer Science, The University of Western Australia
  351.  
  352. In article <1994May4.111339.29072@prz.tu-berlin.de>,
  353. pcastine@jake.prz.tu-berlin.de (Peter Castine) wrote:
  354.  
  355. >I think, however, you will be hard-pressed to find
  356. >a violation in the Finder.
  357.  
  358. OK, I've got a good one!  Why, when you drag a file into a folder where
  359. there already exists a file of the same name, do you have the option of
  360. replacing the original.  Why doesn't the Finder move it to the Trash??? 
  361. OK, so maybe it's not a *real* HIG violation but it's really inconsistent
  362. and consistency is one of the central precepts of the HIG.
  363.  
  364. Other (more obvious) problems become apparent when you install PowerTalk. 
  365. Try the following...
  366.  
  367. 1) Open your catalogue.
  368. 2) Drag a file into the catalogue window.
  369. 3) See Finder highlight catalogue window.
  370. 4) Let go.
  371. 5) See file zoom back to its original position.
  372.  
  373. Or try this...
  374.  
  375. 1) Open your catalogue.
  376. 2) Find a user record (either in your Personal Catalogue or in a
  377. PowerShare catalogue) and drag it to the catalogue window.
  378. 3) See Finder highlight catalogue window.
  379. 4) Let go.
  380. 5) Read dialog telling you that you can't do it because you don't have
  381. privileges.
  382.  
  383. Question #1 Why does it highlight the window (in both cases)?
  384. Question #2 Why does it have different behaviour when it finally realises
  385.             that it's failed?
  386.  
  387. Basically AOCE's HI is severely broken in a lot of places.  Unfortunately
  388. it's a Finder extension, which means that these problems appear to be
  389. Finder problems.
  390. -- 
  391. Quinn "The Eskimo!"      <quinn@cs.uwa.edu.au>     "Support HAVOC!"
  392. Department of Computer Science, The University of Western Australia
  393.  
  394. +++++++++++++++++++++++++++
  395.  
  396. >From alister@netcom.com (Rick Reynolds aka GreenGoo)
  397. Date: Thu, 5 May 1994 06:32:08 GMT
  398. Organization: NETCOM On-line Communication Services (408 241-9760 guest)
  399.  
  400. >How 'bout dragging a disk to the trash to eject it?
  401.  
  402.  
  403. I never really thought much about this issue but I think there should
  404. have been a disk drive icon on the desktop, always visable but somehow
  405. conveying to the user that a disk is inserted. When the user wants
  406. to change disks they can press an "eject" button on the icon. But alas
  407. that brings up the problem of having a control (which woule have to be
  408. smaller then other controls) on a Finder icon.
  409.  
  410. Hmmm...
  411. -- 
  412. Richard Reynolds
  413. alister@netcom.com
  414.  
  415.  "Most dreams are made of glass. You throw just one stone and then there
  416. goes your last window" -RJD
  417.  
  418.  
  419. +++++++++++++++++++++++++++
  420.  
  421. >From deguzman@binkley.math.uiuc.edu (Alan DeGuzman)
  422. Date: 5 May 1994 13:17:32 GMT
  423. Organization: Calculus&Mathematica at UIUC
  424.  
  425. alister@netcom.com (Rick Reynolds aka GreenGoo) writes:
  426.  
  427. >>How 'bout dragging a disk to the trash to eject it?
  428.  
  429.  
  430. >I never really thought much about this issue but I think there should
  431. >have been a disk drive icon on the desktop, always visable but somehow
  432. >conveying to the user that a disk is inserted.
  433.  
  434. Uh, what about the disk's icon? Granted, it can be hidden behind windows,
  435. but I'd rather have what *I* want to stay on top of the desktop layer
  436. rather than some floating icons or whatever.
  437.  
  438. >When the user wants
  439. >to change disks they can press an "eject" button on the icon. But alas
  440. >that brings up the problem of having a control (which woule have to be
  441. >smaller then other controls) on a Finder icon.
  442.  
  443. Now you're on to something. How about letting every icon that is a volume
  444. have a 'switch' or 'button' drawn on (or near) the icon that let's you
  445. eject the volume (eject in the sense of "Put Away"). It could even be dimmed
  446. out for volumes that can't be "Put Away", like the startup volume.
  447. --
  448. Alan A. DeGuzman          "The problem with people is that they're only human."
  449. Calculus&Mathematica
  450. DISCLAIMER: "The University         - Hobbes to Calvin from
  451. can't afford my opinions."           'The Indispensible Calvin and Hobbes'
  452.  
  453. +++++++++++++++++++++++++++
  454.  
  455. >From tzs@u.washington.edu (Tim Smith)
  456. Date: 5 May 1994 13:52:44 GMT
  457. Organization: University of Washington School of Law, Class of '95
  458.  
  459. > I've been working on a presentation on Human Factors Engineering.
  460. > I am using Apple's User Interface Guidelines as an example.  
  461. > What I would like to know is:
  462. >   Does Apple violate it's own Guidelines in any of it's System 7  
  463. >   software?
  464. >   If so, can I easily demonstrate it?
  465.  
  466. In the thingy that is used to select a color (get it by selecting "other..."
  467. for your highlight color in the Colors control panel, or double clicking
  468. on a palette entry in the pattern editor in the General control panel),
  469. they use a scroll bar to set brightness.  I think this violates something
  470. in the User Interface Guidelines.
  471.  
  472. --Tim Smith
  473.  
  474. +++++++++++++++++++++++++++
  475.  
  476. >From Thomas Reed <reed@medicine.wustl.edu>
  477. Date: 5 May 1994 15:00:06 GMT
  478. Organization: Washington University
  479.  
  480. In article <2q9ih4$nhs@news.doit.wisc.edu> Brad Koehn,
  481. koehn@macc.wisc.edu writes:
  482. >It doesn't give background applications any time (hardly). I know this
  483. >probably isn't spelled out in the HIG, but it should be.
  484.  
  485. I don't think that this kind of stuff is in the interface guidelines,
  486. though I can't say that for sure.  Actually, the amount of time
  487. background applications get depends on the background application.  Any
  488. application can grab as much or as little of the CPU time as it needs. 
  489. That's how the Mac's cooperative multitasking works.
  490.  
  491. >When copying files, the menus don't dim. If you click in the menu bar
  492. >during a copy, the dim all of a sudden.
  493.  
  494. I think my menus dim, all except the Apple, Balloon Help, and Application
  495. (you know, the one on the far right) menus.  If they don't dim, it's
  496. probably for one of two reasons:  1)  you can use them even during a
  497. copy, or 2)  you have an extension or control panel installed that does
  498. something with your menus.
  499.  
  500. >With the sharing box open, there's now way to save changes. You have to
  501. >hit the close box, and dismiss the (up to three) annoying dialogs.
  502.  
  503. Agreed on this one.  It'd be nice if there was a friendlier way to do
  504. sharing stuff.  Though I'm not going to complain too much -- I don't mind
  505. the way it's done now.
  506.  
  507. >Dragging items onto a system folder that's not the one you booted with
  508. >doesn't put them in the right place, even if the icons in the folder
  509. >(e.g. apple menu items folder) show correctly.
  510.  
  511. Yes, I've often done this.  However, there's really only one way for the
  512. computer to know that a folder is the system folder without doing more
  513. stuff than it should have to do -- if it has the active system in it.  If
  514. every time you dropped something in a folder, the system had to search
  515. that folder for a copy of the Finder, then all your moves would take a
  516. little longer.  Not only that, but it wouldn't be reliable -- sometimes I
  517. keep copies of the Finder around in different places to play with them.
  518.  
  519. -Thomas
  520. =====================================================
  521. Thomas Reed                    Washington University
  522. Reed@telesphere.wustl.edu          Medical School
  523. (also:  Reed@medicine.wustl.edu)
  524. - ---------------------------------------------------
  525. Clothes make the man.  Naked people have little or no
  526. influence on society.  -- Mark Twain
  527. =====================================================
  528.  
  529. +++++++++++++++++++++++++++
  530.  
  531. >From Paul Ferguson <pferguson@kaleida.com>
  532. Date: 5 May 1994 15:30:12 GMT
  533. Organization: Kaleida Labs, Inc.
  534.  
  535. In article <2qatnc$bon@news.u.washington.edu> Tim Smith, tzs@u.washington.edu
  536. writes:
  537. > In the thingy that is used to select a color (get it by
  538. > selecting "other..." for your highlight color in the Colors
  539. > control panel, or double clicking on a palette entry in the
  540. > pattern editor in the General control panel), they use a scroll
  541. > bar to set brightness.  I think this violates something in the
  542. > User Interface Guidelines.
  543.  
  544. HIG page 215: "Use scroll bars only for representing the relative
  545. position of the visible portion of a document and in scrolling
  546. lists."  I suppose one could argue that in the color picker, the
  547. "document" is the entire color space and that you are scrolling
  548. through it to see different views.  On the other hand, what the
  549. slider is doing is changing the brightness from 0-65535, which
  550. is exactly what the example shown on that page says is an incorrect
  551. use of a scroll bar.
  552.  
  553. This does raise the issue of why Apple explicitly talks about
  554. sliders (in a section entitled "Controls Not Supported by the
  555. Macintosh Toolbox") and gives guidelines as to their use, but have
  556. never provided any sort of standard slider controls for programmers
  557. to use.  Other environments like Motif provide slider widgets with
  558. the same look and feel as their scroll bars, check boxes, etc.  I
  559. think Apple's OS and UI groups have failed by not providing the
  560. same.  Hence the scroll bar often does get misused because it is
  561. much easier to use what's there than write it from scratch (and
  562. writing a smooth slider is not a trivial task).
  563.  
  564. --fergy
  565.  
  566. - ------------------------------------------------------------------
  567.   Paul Ferguson         | "It's a sick world, I'm a happy guy..."
  568.   pferguson@kaleida.com |  
  569. - ------------------------------------------------------------------
  570.  
  571. +++++++++++++++++++++++++++
  572.  
  573. >From hades@coos.dartmouth.edu (Brian V. Hughes)
  574. Date: 5 May 1994 17:33:26 GMT
  575. Organization: Dartmouth College, Hanover, NH, USA
  576.  
  577. Thomas Reed <reed@medicine.wustl.edu> writes:
  578.  
  579. >Brad Koehn, koehn@macc.wisc.edu writes:
  580. >>It doesn't give background applications any time (hardly). I know this
  581. >>probably isn't spelled out in the HIG, but it should be.
  582.  
  583. >I don't think that this kind of stuff is in the interface guidelines,
  584. >though I can't say that for sure.
  585.  
  586.     No it's not in the HIG, but that's because there is no human
  587. interface involved with background applications getting CPU time.
  588.  
  589. >Actually, the amount of time background applications get depends on the
  590. >background application.  Any application can grab as much or as little
  591. >of the CPU time as it needs.  That's how the Mac's cooperative
  592. >multitasking works.
  593.  
  594.     Nope, sorry. There's this little routine called WaitNextEvent() that
  595. must be called, at a decent interval, by the forgroung application so
  596. that when the background application calls GetNextEvent() there's
  597. something there to be gotten. Applications have to be written to perform
  598. as both foreground and background apps, nicely, so that the Mac
  599. cooporative scheme works the way it's supposed to.
  600.  
  601. -Hades
  602.  
  603. +++++++++++++++++++++++++++
  604.  
  605. >From Chuck Simciak <simciac@ccsmtp.ccf.org>
  606. Date: Thu, 5 May 1994 17:28:00 GMT
  607. Organization: Cleveland Clinic Foundation
  608.  
  609. In article <2qatnc$bon@news.u.washington.edu> Tim Smith,
  610. tzs@u.washington.edu writes:
  611. >> I've been working on a presentation on Human Factors Engineering.
  612. >> I am using Apple's User Interface Guidelines as an example.  
  613. >> What I would like to know is:
  614. >>   Does Apple violate it's own Guidelines in any of it's System 7  
  615. >>   software?
  616. >>   If so, can I easily demonstrate it?
  617.  
  618. I'm not sure if this counts as breaking an interface guideline but it is
  619. very annonying.  Say I go to save a file, the StandardPutFile dialog
  620. emerges and I have to navigate several folders to get to my desitination.
  621.  The file name field has already been filled with a defualt.  Here's the
  622. catch.  Upon having navigated the multiple folders to place the file, the
  623. SAVE button is now an OPEN button.  I then have to click in the filename
  624. text field to cause the button to CHANGE to SAVE.  This "feature" was
  625. introduced in System 7 and has been a source of nuisance ever since.
  626.  
  627. later....
  628.  
  629.  
  630.     Chuck Simciak      !"The broken image of Man moves in minute by minute
  631.    wxs@po.cwru.edu     ! and cell by cell... Poverty, hatred, war, police-
  632. simciac@ccsmtp.ccf.org ! criminals, bureaucracy, insanity, all symptoms of
  633. WRUW 91.1 FM Cleveland ! The Human Virus."          - William S. Burroughs
  634.  
  635. +++++++++++++++++++++++++++
  636.  
  637. >From dn_crow@bean.open.ac.uk (dn_crow)
  638. Date: Thu, 5 May 1994 18:43:00 GMT
  639. Organization: (none)
  640.  
  641. An example that has always rather amused me is the one about switching
  642. between applications. The guidlines state that if I click outside any
  643. window belonging to my application, this action should switch me to the
  644. application whose window I have clicked over (e.g. the Finder). The
  645. only action of this click, or indeed double-click, should be to switch
  646. applications. In particular, the guidelines state that the clicks
  647. should *not* be sent to the application being clicked upon.
  648.  
  649. However, the Finder disregards this: try loading an application and
  650. bringing it to the front, while still being able to see a finder window
  651. behind it. If you now click over a visible finder icon, the appropriate
  652. Finder window is brought to the front (correct) but the icon is
  653. selected (incorrect).
  654.  
  655. This, along with most of the other problems mentioned in this thread,
  656. is pretty minor, so if, as your rather biased title suggests, you're
  657. trolling for Apple-bashing material, I think you'll have a pretty weak
  658. case...
  659.  
  660. Dan
  661.  
  662. +++++++++++++++++++++++++++
  663.  
  664. >From pcastine@jake.prz.tu-berlin.de (Peter Castine)
  665. Date: Thu, 5 May 1994 19:48:30 GMT
  666. Organization: PRZ TU-Berlin
  667.  
  668. quinn@cs.uwa.edu.au (Quinn "The Eskimo!") writes:
  669. >pcastine@jake.prz.tu-berlin.de (that's me) wrote:
  670. >
  671. >>I think, however, you will be hard-pressed to find
  672. >>a violation in the Finder.
  673. >
  674. >OK, I've got a good one!  Why, when you drag a file into a folder where
  675. >there already exists a file of the same name, do you have the option of
  676. >replacing the original.  Why doesn't the Finder move it to the Trash??? 
  677. >OK, so maybe it's not a *real* HIG violation but it's really inconsistent
  678.  
  679. Inconsistent with what?
  680.  
  681. >and consistency is one of the central precepts of the HIG.
  682.  
  683. Consistency is, IMHO, a secondary concern. Smith et.al. discuss the
  684. practical issues of maintaining consistency in real world applications
  685. in their 1982 article "Designing the Star user interface." (Originally
  686. printed in Byte 7(4), reprinted in Baecker & Buxton's _Readings in 
  687. Human-Computer Interaction_, the paper is a must-read). Short
  688. precis: consistency is the hobgoblin of small minds.
  689.  
  690. >Other (more obvious) problems become apparent when you install PowerTalk. 
  691.  
  692. This is cheating--PowerTalk extensions aren't the Finder. I suppose
  693. they look that way, though.
  694.  
  695. >Try the following...
  696. >
  697. >1) Open your catalogue.
  698. >2) Drag a file into the catalogue window.
  699. >3) See Finder highlight catalogue window.
  700. >4) Let go.
  701. >5) See file zoom back to its original position.
  702. >
  703.  
  704. This example comes practically straight from the discussion in
  705. the above-mentioned article. Geez--maybe I should just violate
  706. copyright and type in the entire paper.
  707.  
  708. :-)
  709.  
  710. >Or try this...
  711. >
  712. >1) Open your catalogue.
  713. >2) Find a user record (either in your Personal Catalogue or in a
  714. >PowerShare catalogue) and drag it to the catalogue window.
  715. >3) See Finder highlight catalogue window.
  716. >4) Let go.
  717. >5) Read dialog telling you that you can't do it because you don't have
  718. >privileges.
  719. >
  720. >Question #1 Why does it highlight the window (in both cases)?
  721.  
  722. For performance reasons? (Checking privileges might slow down
  723. feedback, direct manipulation. I'm obviously guessing on this one).
  724.  
  725. >Question #2 Why does it have different behaviour when it finally realises
  726. >            that it's failed?
  727.  
  728. What's it supposed to do? Not tell you that it failed? Disregard
  729. privileges?
  730.  
  731. >Basically AOCE's HI is severely broken in a lot of places.  
  732.  
  733. Severely? Well, I'll let that pass before a flame war breaks out.
  734.  
  735. > Unfortunately
  736. >it's a Finder extension, 
  737.  
  738. Like I said, cheating.
  739.  
  740. >which means that these problems appear to be
  741. >Finder problems.
  742.  
  743. Well, touche.
  744.  
  745. -- 
  746. Peter Castine                      | Da sprach Jesus zu ihm: Stecke dein
  747. pcastine@prz.tu-berlin.de          | Schwerdt an seinen Ort; denn wer das
  748. - ---------------------------------| Schwerdt nimmt, der soll durchs
  749.      ``Have Mac, will travel''     | Schwerdt umkommen. (Matthai 26:52)
  750.  
  751. +++++++++++++++++++++++++++
  752.  
  753. >From Thomas Reed <reed@medicine.wustl.edu>
  754. Date: 5 May 1994 20:31:38 GMT
  755. Organization: Washington University
  756.  
  757. In article <1994May5.172800.22102@bme.ri.ccf.org> Chuck Simciak,
  758. simciac@ccsmtp.ccf.org writes:
  759. > The file name field has already been filled with a defualt.  Here's the
  760. >catch.  Upon having navigated the multiple folders to place the file, the
  761. >SAVE button is now an OPEN button.  I then have to click in the filename
  762. >text field to cause the button to CHANGE to SAVE.  This "feature" was
  763. >introduced in System 7 and has been a source of nuisance ever since.
  764.  
  765. I believe this problem is caused not by the system, but by Directory
  766. Assistance II.  (Or a similar program.)  My System 7.x machine never did
  767. this until I installed Directory Assistance II, so...
  768.  
  769. -Thomas
  770. =====================================================
  771. Thomas Reed                    Washington University
  772. Reed@telesphere.wustl.edu          Medical School
  773. (also:  Reed@medicine.wustl.edu)
  774. - ---------------------------------------------------
  775. Clothes make the man.  Naked people have little or no
  776. influence on society.  -- Mark Twain
  777. =====================================================
  778.  
  779. +++++++++++++++++++++++++++
  780.  
  781. >From Thomas Reed <reed@medicine.wustl.edu>
  782. Date: 5 May 1994 20:48:08 GMT
  783. Organization: Washington University
  784.  
  785. In article <2qbal6$3tu@dartvax.dartmouth.edu> Brian V. Hughes,
  786. hades@coos.dartmouth.edu writes:
  787. >>Actually, the amount of time background applications get depends on the
  788. >>background application.  Any application can grab as much or as little
  789. >>of the CPU time as it needs.  That's how the Mac's cooperative
  790. >>multitasking works.
  791. >
  792. >    Nope, sorry. There's this little routine called WaitNextEvent() that
  793. >must be called, at a decent interval, by the forgroung application so
  794. >that when the background application calls GetNextEvent() there's
  795. >something there to be gotten.
  796.  
  797. Yes, it's true that there has to be "something to be gotten", but I think
  798. most applications these days, background or not, call WaitNextEvent, so
  799. they can control directly how much time they get by giving different
  800. numbers for the sleep value.  A low value causes the app to be given time
  801. more often, a high value causes the app to be given time less often. 
  802. Plus, if the background app doesn't call WaitNextEvent AT ALL for a
  803. while, they get ALL of that processing time.  WaitNextEvent is the key
  804. behind applications getting CPU time.
  805.  
  806. -Thomas
  807. =====================================================
  808. Thomas Reed                    Washington University
  809. Reed@telesphere.wustl.edu          Medical School
  810. (also:  Reed@medicine.wustl.edu)
  811. - ---------------------------------------------------
  812. Clothes make the man.  Naked people have little or no
  813. influence on society.  -- Mark Twain
  814. =====================================================
  815.  
  816. +++++++++++++++++++++++++++
  817.  
  818. >From pcastine@jake.prz.tu-berlin.de (Peter Castine)
  819. Date: Thu, 5 May 1994 20:39:17 GMT
  820. Organization: PRZ TU-Berlin
  821.  
  822. Chuck Simciak <simciac@ccsmtp.ccf.org> writes:
  823. >
  824. >I'm not sure if this counts as breaking an interface guideline but it is
  825. >very annonying.  Say I go to save a file, the StandardPutFile dialog
  826. >emerges and I have to navigate several folders to get to my desitination.
  827. > The file name field has already been filled with a defualt.  Here's the
  828. >catch.  Upon having navigated the multiple folders to place the file, the
  829. >SAVE button is now an OPEN button.  I then have to click in the filename
  830. >text field to cause the button to CHANGE to SAVE.  This "feature" was
  831. >introduced in System 7 and has been a source of nuisance ever since.
  832.  
  833. I like this one, because the Standard Save File dialog is being
  834. *consistent* (that's right, folks!).
  835.  
  836. The Save button only changes to Open when you've selected a folder
  837. in the directory list. When this is the case, the EditText field
  838. with the document name is no longer the active item in the dialog,
  839. the directory list is the active item (highlighted with an extra
  840. two-pixel thick box surrounding it). So, the Save button is being
  841. context-sensitive, changes to 'Open' and behaves the same way
  842. a double-click on the currently selected item would behave.
  843.  
  844. BTW, you don't need to click on the document name, you only have
  845. to deselect any folder, for the button to change back to Open.
  846.  
  847. I'm just waiting for someone to say "Why don't they add another
  848. button, so you've got one for Save and one for Open?" Before you
  849. ask that question, read Tognazzini's article on Consistency in
  850. _The Art of Human-Computer Interface Design_ ;-q
  851.  
  852. -- 
  853. Peter Castine                      | Da sprach Jesus zu ihm: Stecke dein
  854. pcastine@prz.tu-berlin.de          | Schwerdt an seinen Ort; denn wer das
  855. - ---------------------------------| Schwerdt nimmt, der soll durchs
  856.      ``Have Mac, will travel''     | Schwerdt umkommen. (Matthai 26:52)
  857.  
  858. +++++++++++++++++++++++++++
  859.  
  860. >From quinn@cs.uwa.edu.au (Quinn "The Eskimo!")
  861. Date: Fri, 06 May 1994 10:41:44 +0800
  862. Organization: Department of Computer Science, The University of Western Australia
  863.  
  864. In article <2qatnc$bon@news.u.washington.edu>, tzs@u.washington.edu (Tim
  865. Smith) wrote:
  866.  
  867. >In the thingy that is used to select a color (get it by selecting "other..."
  868. >for your highlight color in the Colors control panel, or double clicking
  869. >on a palette entry in the pattern editor in the General control panel),
  870. >they use a scroll bar to set brightness.  I think this violates something
  871. >in the User Interface Guidelines.
  872.  
  873. Actually it violates the letter, *but not IMHO the spirit*, of the
  874. guideline that states that you should only put settings, as opposed to
  875. commands, in a popup menu.
  876. -- 
  877. Quinn "The Eskimo!"      <quinn@cs.uwa.edu.au>     "Support HAVOC!"
  878. Department of Computer Science, The University of Western Australia
  879.  
  880. +++++++++++++++++++++++++++
  881.  
  882. >From jfinete@cats.ucsc.edu (Joseph Manuel Finete)
  883. Date: 6 May 1994 03:04:26 GMT
  884. Organization: University of California; Santa Cruz
  885.  
  886.  
  887. In article <1994May5.203917.29612@prz.tu-berlin.de> pcastine@jake.prz.tu-berlin.de (Peter Castine) writes:
  888. >
  889. >I like this one, because the Standard Save File dialog is being
  890. >*consistent* (that's right, folks!).
  891. >
  892. >The Save button only changes to Open when you've selected a folder
  893. >in the directory list. When this is the case, the EditText field
  894. >with the document name is no longer the active item in the dialog,
  895. >the directory list is the active item (highlighted with an extra
  896. >two-pixel thick box surrounding it). So, the Save button is being
  897. >context-sensitive, changes to 'Open' and behaves the same way
  898. >a double-click on the currently selected item would behave.
  899. >
  900. >BTW, you don't need to click on the document name, you only have
  901. >to deselect any folder, for the button to change back to Open.
  902.  
  903. Also, hitting the TAB key will let you cycle through the dialog items.
  904. So if the file list is selected, hit TAB and then the EditText field
  905. will be selected. My problem is that its not obvious enough that the
  906. file list is selected or that the Edit Text field is not selected,
  907. although, I really don't have a good idea on how to alleviate this.
  908.  
  909. -- 
  910. Joe Finete
  911. jfinete@cats.ucsc.edu
  912.  
  913. +++++++++++++++++++++++++++
  914.  
  915. >From d88-jwa@dront.nada.kth.se (Jon Wätte)
  916. Date: 6 May 1994 08:34:14 GMT
  917. Organization: The Royal Institute of Technology
  918.  
  919. In <1994May5.172800.22102@bme.ri.ccf.org> Chuck Simciak <simciac@ccsmtp.ccf.org> writes:
  920.  
  921. >catch.  Upon having navigated the multiple folders to place the file, the
  922. >SAVE button is now an OPEN button.  I then have to click in the filename
  923. >text field to cause the button to CHANGE to SAVE.  This "feature" was
  924.  
  925. Or you can press TAB. This is so you can actually type-select
  926. folder names in the list, instead of having to use arrow keys.
  927.  
  928. Cheers,
  929.  
  930.                     / h+
  931. -- 
  932.  -- Jon W{tte, h+@nada.kth.se, Mac Hacker Deluxe (on a Swedish scale) --
  933.  
  934.    What we need is a good GNU [...] licence manager implementation.
  935.                      -- Raphael Manfredi
  936.  
  937. +++++++++++++++++++++++++++
  938.  
  939. >From d88-jwa@dront.nada.kth.se (Jon Wätte)
  940. Date: 6 May 1994 08:36:21 GMT
  941. Organization: The Royal Institute of Technology
  942.  
  943. In <1994May5.184300.25982@leeds.ac.uk> dn_crow@bean.open.ac.uk (dn_crow) writes:
  944.  
  945. >only action of this click, or indeed double-click, should be to switch
  946. >applications. In particular, the guidelines state that the clicks
  947. >should *not* be sent to the application being clicked upon.
  948.  
  949. This recommendation is going away with the new, direct manipulation,
  950. Drag Manager, and AOCE which uses it (or its cousin) and it will DEFINATELY
  951. not be the case when you run OpenDoc.
  952.  
  953. Cheers,
  954.  
  955.                     / h+
  956. -- 
  957.  -- Jon W{tte, h+@nada.kth.se, Mac Hacker Deluxe (on a Swedish scale) --
  958.  
  959.    What we need is a good GNU [...] licence manager implementation.
  960.                      -- Raphael Manfredi
  961.  
  962. +++++++++++++++++++++++++++
  963.  
  964. >From sw@network-analysis-ltd.co.uk (Sak Wathanasin)
  965. Date: Fri, 6 May 94 09:47:25 GMT
  966. Organization: Network Analysis Ltd
  967.  
  968.  
  969. In article <1994May5.184300.25982@leeds.ac.uk> (comp.sys.mac.advocacy,comp.sys.mac.programmer), dn_crow@bean.open.ac.uk (dn_crow) writes:
  970.  
  971. > applications. In particular, the guidelines state that the clicks
  972. > should *not* be sent to the application being clicked upon.
  973.  
  974. As with all guidelines, this is not meant to be slavishly adhered to.
  975. It's up to the appl whether to accept the first click, and in the case
  976. of the Finder what it does makes a lot of sense. Although the desktop
  977. is a window in some sense, in a way it isn't. You have to select a piece
  978. of paper (window) to write in it, but surely you don't expect to
  979. "select" your desk to pick something up or put it down. (I'd also argue
  980. that you should be able to "click through" to most appls, just like I can
  981. scribble a note in the margin of a sheet of paper without having to move it
  982. to the front, but that's another story.)
  983.  
  984. The Finder also does the same with folder windows. Does anyone remember
  985. what it used to be like? When you wanted to drag a file from one folder
  986. to another, you clicked on the src icon which would bring its window to
  987. the front. This would sometimes cover up the window you wanted to drag
  988. to, so you'd have to go back and move it out from underneath (then move
  989. it back after the drag if you're obsessively tidy like me :-). The way
  990. it does it now is MUCH better, and I'm pleased to see that the Drag Mgr
  991. supports this way of working. If the guidelines say that you can't do
  992. this, then the guidelines should be changed.
  993.  
  994.  
  995. Sak Wathanasin
  996. Network Analysis Limited
  997. 178 Wainbody Ave South, Coventry CV3 6BX, UK
  998.  
  999. Internet: sw@network-analysis-ltd.co.uk 
  1000. uucp:     ...!uknet!nan!sw                       AppleLink: NAN.LTD
  1001. Phone: (+44) 203 419996 Mobile:(+44) 850 587411  Fax: (+44) 203 690690
  1002.  
  1003. +++++++++++++++++++++++++++
  1004.  
  1005. >From Willie Abrams <willie-abrams@uokhsc.edu>
  1006. Date: 5 May 1994 15:02:28 GMT
  1007. Organization: OU Health Sciences Center
  1008.  
  1009. In article <quinn-050594100313@eriodon.cs.uwa.oz.au> Quinn,
  1010. quinn@cs.uwa.edu.au writes:
  1011. >Basically AOCE's HI is severely broken in a lot of places.  Unfortunately
  1012.  
  1013. AOCE is real screwed up as far as HIG goes. If we are going to
  1014. flame its flaws, here are my complaints:
  1015.  
  1016. The standard mailer is a specific size, which means if you
  1017. make the window smaller, it cuts off the damn mailer, and
  1018. if you make the window bigger, you can't take advantage
  1019. of the extra space to the right of the mailer.
  1020.  
  1021. The way the mailer is shaped, You can only see about three
  1022. enclosures...
  1023.  
  1024. AppleMail has a real sluggish event loop. I know this isn't
  1025. necessarily a HIG flaw, but it is a real UI flaw. I end up
  1026. reading mail in ClarisWorks, since it responds to my stimulus
  1027. faster.
  1028.  
  1029. PowerShare admin stuff is just plain ugly. Chicago and Geneva
  1030. are the System and Application typefaces for a reason - they
  1031. are readable on screen. This Palatino stuff, with fixed sixed
  1032. panes are a real pain. At least with AppleShare, you had nice
  1033. resizeable and movable lists that allowed you to manage it.
  1034. (although it didn't remember window positions...ugh!)
  1035.  
  1036. I can move the keys off the desktop, but I can't move the
  1037. catalogs (I guess I can sort of see that) - QuickDraw GX
  1038. suffers there too, with all of those desktop printers...a
  1039. real pain in the butt for those of use who move frequently
  1040. from enviroment to enviroment with the same system.
  1041.  
  1042. Another UI problem - Symantec/Think C - I can't open a source
  1043. file without opening a project. Great! Modal Functionality...
  1044. Probably why I like Metrowerks...
  1045.  
  1046. Is there a forum where people can talk and discuss about
  1047. UI issues? Would that be a thread that should be here in csmp?
  1048.  
  1049. I think we have a real opportunity to jolt some people back
  1050. into thinking about how software is used. There are real
  1051. usability issues that are not related to functionality that
  1052. need to be addressed.
  1053.  
  1054. We as programmers need to address these head on, as we implement
  1055. the great (or horrid) user interfaces.
  1056.  
  1057. I will stop now. I am getting incensed.
  1058.  
  1059. Willie Abrams                
  1060. Telemedicine Software Guy  Internet:  willie-abrams@uokhsc.edu
  1061. OU Health Sciences Center  AppleLink: Willie
  1062.  
  1063. +++++++++++++++++++++++++++
  1064.  
  1065. >From John Hamilton Slye <jsbr+@andrew.cmu.edu>
  1066. Date: Fri,  6 May 1994 12:55:38 -0400
  1067. Organization: Junior, Electrical and Computer Engineering, Carnegie Mellon, Pittsburgh, PA
  1068.  
  1069. On 06-May-94 in Re: Apple's blatant disrega..
  1070. user Joseph Manuel Finete@cat writes:
  1071. >Also, hitting the TAB key will let you cycle through the dialog items.
  1072. >So if the file list is selected, hit TAB and then the EditText field
  1073. >will be selected. My problem is that its not obvious enough that the
  1074. >file list is selected or that the Edit Text field is not selected,
  1075. >although, I really don't have a good idea on how to alleviate this.
  1076.  
  1077. When the test field is not selected, the caret isn't in it anymore...and
  1078. when the file list is selected, there is an outline box around it...
  1079.  
  1080.  
  1081. O------------------O---------------------O----------------------------------O
  1082. |                  | jsbr@andrew.cmu.edu | "I know that there are people in |
  1083. | J. Hamilton Slye |                     | the world who do not love their  |
  1084. |                  |   ham@ece.cmu.edu   | fellow human beings...and I HATE |
  1085. O------------------O---------------------O people like that!"               |
  1086. |          1071 Morewood Ave.            |              - Tom Lehrer        |
  1087. |         Pittsburgh, Pa. 15213          O----------------------------------O
  1088. |            (412) 862-3739              |       THIS SPACE FOR RENT!       |
  1089. O----------------------------------------O----------------------------------O
  1090.  
  1091. +++++++++++++++++++++++++++
  1092.  
  1093. >From Robert Hess <robert_hess@macweek.ziff.com>
  1094. Date: Fri, 6 May 1994 18:44:40 GMT
  1095. Organization: MacWEEK
  1096.  
  1097. In article <quinn-050594100313@eriodon.cs.uwa.oz.au> Quinn, quinn@cs.uwa.edu.au writes:
  1098. >Other (more obvious) problems become apparent when you install PowerTalk. 
  1099.  
  1100. Oh, I have an even better one...
  1101.  
  1102. A letter sits in the In Tray. I drag it out of the In Tray into a folder. Have I
  1103. moved the letter? No, I've copied it.
  1104.  
  1105. The copied letter and the letter remaining in the In Tray, appear to be identical
  1106. (same icon, same name). In one window I can see the sender date sent, etc. In
  1107. another window I see size, date modified, etc. Can I modify the name of something
  1108. in the In Tray? No. How about in a folder? Yes. Can I move something from a
  1109. folder back into the In Tray? No.
  1110.  
  1111. I love PowerTalk but it imposes a whole set of new (i.e. inconsistent) rules on
  1112. new users and, like you said, makes the Finder seem awkward.
  1113.  
  1114. ========================================================================
  1115. Robert Hess, WEEKgeek                      robert_hess@macweek.ziff.com
  1116. MacWEEK                                    AppleLink: WNDZSX
  1117. 301 Howard                                 CompuServe: 72511,333
  1118. San Francisco, Calif. 94105                America Online: MacWEEK
  1119. (415) 243-3576 days                        MCI: RHESS
  1120. (415) 243-3651 fax
  1121. (415) 647-5549 nights                      I speak for myself.
  1122. now doesn't that make you feel better?     And sometimes not even that.
  1123. ========================================================================
  1124.  
  1125. +++++++++++++++++++++++++++
  1126.  
  1127. >From Robert Hess <robert_hess@macweek.ziff.com>
  1128. Date: Fri, 6 May 1994 18:46:25 GMT
  1129. Organization: MacWEEK
  1130.  
  1131. In article <quinn-050594100313@eriodon.cs.uwa.oz.au> Quinn, quinn@cs.uwa.edu.au writes:
  1132. >1) Open your catalogue.
  1133. >2) Find a user record (either in your Personal Catalogue or in a
  1134. >PowerShare catalogue) and drag it to the catalogue window.
  1135. >3) See Finder highlight catalogue window.
  1136. >4) Let go.
  1137. >5) Read dialog telling you that you can't do it because you don't have
  1138. >privileges.
  1139.  
  1140. Or, better yet, drag a user record into the "mount points" list of the File
  1141. Sharing Monitor. It hightlights, indicating it is willing to accept a drag. Why
  1142. on Earth would it do that? (Or, for that matter, why would someone try to do
  1143. this? But that's not the point. ;)
  1144.  
  1145. ========================================================================
  1146. Robert Hess, WEEKgeek                      robert_hess@macweek.ziff.com
  1147. MacWEEK                                    AppleLink: WNDZSX
  1148. 301 Howard                                 CompuServe: 72511,333
  1149. San Francisco, Calif. 94105                America Online: MacWEEK
  1150. (415) 243-3576 days                        MCI: RHESS
  1151. (415) 243-3651 fax
  1152. (415) 647-5549 nights                      I speak for myself.
  1153. now doesn't that make you feel better?     And sometimes not even that.
  1154. ========================================================================
  1155.  
  1156. +++++++++++++++++++++++++++
  1157.  
  1158. >From pcastine@jake.prz.tu-berlin.de (Peter Castine)
  1159. Date: Fri, 6 May 1994 19:43:02 GMT
  1160. Organization: PRZ TU-Berlin
  1161.  
  1162. Willie Abrams <willie-abrams@uokhsc.edu> writes:
  1163. >
  1164. >Is there a forum where people can talk and discuss about
  1165. >UI issues? Would that be a thread that should be here in csmp?
  1166. >
  1167.  
  1168. How about comp.human-factors? That might have been a more appropriate
  1169. place to follow-up.
  1170.  
  1171. -- 
  1172. Peter Castine                      | Da sprach Jesus zu ihm: Stecke dein
  1173. pcastine@prz.tu-berlin.de          | Schwerdt an seinen Ort; denn wer das
  1174. - ---------------------------------| Schwerdt nimmt, der soll durchs
  1175.      ``Have Mac, will travel''     | Schwerdt umkommen. (Matthai 26:52)
  1176.  
  1177. +++++++++++++++++++++++++++
  1178.  
  1179. >From pcastine@jake.prz.tu-berlin.de (Peter Castine)
  1180. Date: Fri, 6 May 1994 20:03:56 GMT
  1181. Organization: PRZ TU-Berlin
  1182.  
  1183. Joseph Manuel Finete@cat writes:
  1184. >>Also, hitting the TAB key will let you cycle through the dialog items.
  1185. >>So if the file list is selected, hit TAB and then the EditText field
  1186. >>will be selected. My problem is that its not obvious enough that the
  1187. >>file list is selected or that the Edit Text field is not selected,
  1188. >>although, I really don't have a good idea on how to alleviate this.
  1189.  
  1190. John Hamilton Slye <jsbr+@andrew.cmu.edu> responded:
  1191. >
  1192. >When the test field is not selected, the caret isn't in it anymore...and
  1193. >when the file list is selected, there is an outline box around it...
  1194.  
  1195. I think Joseph may have been aware of this behavior. It is, however, a
  1196. bit on the subtle side. It becomes more obvious when the EditText
  1197. field is entirely selected, because it highlights/unhighlights when
  1198. you tab in and out of it.
  1199. -- 
  1200. Peter Castine                      | Da sprach Jesus zu ihm: Stecke dein
  1201. pcastine@prz.tu-berlin.de          | Schwerdt an seinen Ort; denn wer das
  1202. - ---------------------------------| Schwerdt nimmt, der soll durchs
  1203.      ``Have Mac, will travel''     | Schwerdt umkommen. (Matthai 26:52)
  1204.  
  1205. +++++++++++++++++++++++++++
  1206.  
  1207. >From jaeger@kunikpok.icus.com (Jaeger)
  1208. Date: Fri, 06 May 94 13:20:30 CDT
  1209. Organization: Kunikpok Kennels and Komputers (Pet Project)
  1210.  
  1211. Here's a blatantly diregarded interface guidline.  When formatting 
  1212. floppies there is no progress indicator.  Anything that takes as long as 
  1213. formatting a floppy should have a progress bar.
  1214.  
  1215. Brian  Stern  :-{)}
  1216. Jaeger@fquest.com
  1217.  
  1218. +++++++++++++++++++++++++++
  1219.  
  1220. >From mikec@mv.mv.com (Mike Callaghan)
  1221. Date: Fri, 6 May 1994 21:51:04 GMT
  1222. Organization: MV Communications, Inc.
  1223.  
  1224. In article <1994May5.184300.25982@leeds.ac.uk>,
  1225. dn_crow <dn_crow@bean.open.ac.uk> wrote:
  1226. >However, the Finder disregards this: try loading an application and
  1227. >bringing it to the front, while still being able to see a finder window
  1228. >behind it. If you now click over a visible finder icon, the appropriate
  1229. >Finder window is brought to the front (correct) but the icon is
  1230. >selected (incorrect).
  1231.  
  1232. If I'm not mistaken, this is simple to correct with ResEdit by changing
  1233. the Finder's SIZE resource (Get Front Clicks, I believe). Personally, I
  1234. like it, and wish more programs did it.
  1235.  
  1236. MikeC
  1237. -- 
  1238. Michael D. Callaghan                             Nashua, New Hampshire
  1239. - --------------------------------------------------------------------
  1240. RULE: "(sqrt(-1)) before (2.71828), except after (186,000 miles/sec)."
  1241.             [THE DANGERS OF MIXING GRAMMAR AND SCIENCE]
  1242.  
  1243. +++++++++++++++++++++++++++
  1244.  
  1245. >From scgkr@mucc.mahidol.ac.th (Graham Keith Rogers - SCLG)
  1246. Date: 7 May 1994 02:06:49 GMT
  1247. Organization: Mahidol University, Thailand.
  1248.  
  1249. Paul Ferguson (pferguson@kaleida.com) wrote:
  1250. : select a field, the big-small display modes, flashing the Apple
  1251. : menu forever when the alarm goes off (how many people at some
  1252. : point in their life were mystified to see a flashing alarm clock
  1253. : where the Apple menu is?)  It's hard to find anything about the
  1254.  
  1255. Is *that* what that is.  Jeez, how do I turn it off?  Please....
  1256.  
  1257. Graham
  1258.  
  1259. +++++++++++++++++++++++++++
  1260.  
  1261. >From d88-jwa@dront.nada.kth.se (Jon Wätte)
  1262. Date: 7 May 1994 09:03:08 GMT
  1263. Organization: The Royal Institute of Technology
  1264.  
  1265. In <CpE9EG.5Ep@zcias2.ziff.com> Robert Hess <robert_hess@macweek.ziff.com> writes:
  1266.  
  1267. >A letter sits in the In Tray. I drag it out of the In Tray into a folder. Have I
  1268. >moved the letter? No, I've copied it.
  1269.  
  1270. Of course! It's the same thing as "a file is sitting on a floppy
  1271. disk, and I drag it to a folder on my hard disk."
  1272.  
  1273. However, QuickDraw GX desktop printers are another thing:
  1274.  
  1275. A file sits in the printer queue, and I drag it to the desktop.
  1276. It is MOVED there.
  1277. I then drag it to the printer again, and it is COPIED into the
  1278. printer.
  1279. It makes sense, of course, since moving it to the printer would
  1280. delete it once it was printed, but it's still eerie.
  1281.  
  1282. -- 
  1283.  -- Jon W{tte, h+@nada.kth.se, Mac Hacker Deluxe (on a Swedish scale) --
  1284.   "Anyone who tries to make a distinction between education and
  1285.    entertainment doesn't know the first thing about either"
  1286.                      -- Trip Hawkins
  1287.  
  1288. +++++++++++++++++++++++++++
  1289.  
  1290. >From tzs@u.washington.edu (Tim Smith)
  1291. Date: 7 May 1994 09:46:06 GMT
  1292. Organization: University of Washington School of Law, Class of '95
  1293.  
  1294. Quinn "The Eskimo!" <quinn@cs.uwa.edu.au> wrote:
  1295. >>In the thingy that is used to select a color (get it by selecting "other..."
  1296. >>for your highlight color in the Colors control panel, or double clicking
  1297. >>on a palette entry in the pattern editor in the General control panel),
  1298. >>they use a scroll bar to set brightness.  I think this violates something
  1299. >>in the User Interface Guidelines.
  1300. >
  1301. >Actually it violates the letter, *but not IMHO the spirit*, of the
  1302. >guideline that states that you should only put settings, as opposed to
  1303. >commands, in a popup menu.
  1304.  
  1305. I was thinking of page 215, where it says that scroll bars are *only* to
  1306. be used to manipulate the relative position in a document or list.  They
  1307. explicitly say that scroll bars are not to be used where sliders should
  1308. be used.  Thus, the color selector is a blatant violation.
  1309.  
  1310. --Tim Smith
  1311.  
  1312. +++++++++++++++++++++++++++
  1313.  
  1314. >From hall_j@sat.mot.com (Joseph Hall)
  1315. Date: Fri, 6 May 1994 17:11:28 GMT
  1316. Organization: Motorola Inc., Satellite Communications
  1317.  
  1318. Seems it was dn_crow@bean.open.ac.uk (dn_crow) who said:
  1319. >An example that has always rather amused me is the one about switching
  1320. >between applications. The guidlines state that if I click outside any
  1321. >window belonging to my application, this action should switch me to the
  1322. >application whose window I have clicked over (e.g. the Finder). The
  1323. >only action of this click, or indeed double-click, should be to switch
  1324. >applications. In particular, the guidelines state that the clicks
  1325. >should *not* be sent to the application being clicked upon.
  1326.  
  1327. Is this correct?  There is one of the finder flags (the application
  1328. bits you can change with ResEdit) that can be set so that the click 
  1329. will be delivered to the application after it is brought to the front.  
  1330. I have found this a very appropriate behavior in the case of apps like 
  1331. THINK Reference.  You click on the "thinker" icon in the background, and
  1332. wham, there's THINK Reference for you.
  1333.  
  1334. -- 
  1335. Joseph Nathan Hall | Joseph's Law of Interface Design: Never give your users
  1336. Software Architect | a choice between the easy way and the right way.
  1337. Gorca Systems Inc. |                 joseph@joebloe.maple-shade.nj.us (home)
  1338. (on assignment)    | (602) 732-2549 (work)  Joseph_Hall-SC052C@email.mot.com
  1339.  
  1340. +++++++++++++++++++++++++++
  1341.  
  1342. >From derek@netcom.com (Derek LeLash)
  1343. Date: Sat, 7 May 1994 18:07:00 GMT
  1344. Organization: Corner of Walk & Don't Walk
  1345.  
  1346. In article <johan.solve-060594152443@js_mac.hh.se> johan.solve@itn.hh.se (Johan Solve) writes:
  1347. >
  1348. >Metaphors that needs to be explained (as the trashcan in the remove-disk
  1349. >case) are not good metaphors. Picture a new user who has never seen a Mac
  1350. >before. He inserts a disk and wants to get it out again. I don't think he
  1351. >even dare to think of dragging it to the trash. There has to be a Mac guru
  1352. >around to explain to him that "in this special case, nothing gets deleted.
  1353. >But the disk will disappear from the desktop (and reappear on the real life
  1354. >desktop...)"
  1355. >
  1356. >Not good. 
  1357.  
  1358. No.  The user selects the disk icon and chooses "Put Away" from the File menu.
  1359. Anything else is an optional short cut.  Does the fact that *everyone* drags
  1360. disks to the Trash *regardless* of how "pure" the metaphor is tell you anything
  1361. about how the Finder was designed to give users multiple ways to perform an
  1362. action, so that they can pick the one they want?  I guarantee you that five
  1363. minutes after someone learns that you *can* (not *must*) eject a disk by
  1364. throwing it in the trash, that will be the only method they ever use.  Who
  1365. cares if the metaphor is perfect?
  1366.  
  1367. Derek
  1368. -- 
  1369. Derek LeLash, SrTechWriter/INFP | "Everyone lays off their Prozac for a week
  1370. BASYS Automation Systems, Inc.  |  before I come to town.  Nothing serious,
  1371. home: derek@netcom.com          |  just enough to get a little dip going."
  1372. work: derek@scooter.amc.dec.com |                            -- Shawn Colvin
  1373.  
  1374. +++++++++++++++++++++++++++
  1375.  
  1376. >From de19@umail.umd.edu (Dana S Emery)
  1377. Date: Sat, 07 May 1994 15:54:44 -0500
  1378. Organization: Botany, UMCP
  1379.  
  1380. In article <2qb1lmINNh21@medicine.wustl.edu>, Thomas Reed
  1381. <reed@medicine.wustl.edu> wrote:
  1382.  
  1383. > >Dragging items onto a system folder that's not the one you booted with
  1384. > >doesn't put them in the right place, even if the icons in the folder
  1385. > >(e.g. apple menu items folder) show correctly.
  1386. > Yes, I've often done this.  However, there's really only one way for the
  1387. > computer to know that a folder is the system folder without doing more
  1388. > stuff than it should have to do -- if it has the active system in it.
  1389.  
  1390. disagree, the Finder already knows if a viable system is inside, it has to 
  1391. in order to show the proper icon for a system folder. 
  1392.  
  1393. The rest is simply a matter of searching for tagged folders and directing 
  1394. the files, and I, as a user would expect that behaviour to be consistant 
  1395. for any folder showing the blessed system icon, no matter if it was in fact
  1396.  
  1397. the booted system.
  1398. --
  1399.  
  1400. Dana S Emery <de19@umail.umd.edu>
  1401.  
  1402. +++++++++++++++++++++++++++
  1403.  
  1404. >From d88-jwa@dront.nada.kth.se (Jon Wätte)
  1405. Date: 8 May 1994 10:09:08 GMT
  1406. Organization: The Royal Institute of Technology
  1407.  
  1408. In <de19-070594155445@hjpatt-91.umd.edu> de19@umail.umd.edu (Dana S Emery) writes:
  1409.  
  1410. >disagree, the Finder already knows if a viable system is inside, it has to 
  1411. >in order to show the proper icon for a system folder. 
  1412.  
  1413. So far so good.
  1414.  
  1415. >The rest is simply a matter of searching for tagged folders and directing 
  1416. >the files, and I, as a user would expect that behaviour to be consistant 
  1417. >for any folder showing the blessed system icon, no matter if it was in fact
  1418. >the booted system.
  1419.  
  1420. Exactly how would the Swedish Finder know about the names of the
  1421. Hindu special folders?
  1422.  
  1423. Cheers,
  1424.  
  1425.                     / h+
  1426. -- 
  1427.  -- Jon W{tte, h+@nada.kth.se, Mac Hacker Deluxe (on a Swedish scale) --
  1428.  
  1429.    There's no sex act that can't be made better with Jell-O.
  1430.  
  1431. +++++++++++++++++++++++++++
  1432.  
  1433. >From quinn@cs.uwa.edu.au (Quinn "The Eskimo!")
  1434. Date: Mon, 09 May 1994 10:34:31 +0800
  1435. Organization: Department of Computer Science, The University of Western Australia
  1436.  
  1437. In article <2qfo0u$7kn@news.u.washington.edu>, tzs@u.washington.edu (Tim
  1438. Smith) wrote:
  1439.  
  1440. >Quinn "The Eskimo!" <quinn@cs.uwa.edu.au> wrote:
  1441. >>Someone else wrote:
  1442. >>>In the thingy that is used to select a color (get it by selecting "other..."
  1443. >>>for your highlight color in the Colors control panel, or double clicking
  1444. >>>on a palette entry in the pattern editor in the General control panel),
  1445. >>>they use a scroll bar to set brightness.  I think this violates something
  1446. >>>in the User Interface Guidelines.
  1447. >>
  1448. >>Actually it violates the letter, *but not IMHO the spirit*, of the
  1449. >>guideline that states that you should only put settings, as opposed to
  1450. >>commands, in a popup menu.
  1451. >
  1452. >I was thinking of page 215, where it says that scroll bars are *only* to
  1453. >be used to manipulate the relative position in a document or list.
  1454.  
  1455. True enough.  [Whoops, forgot to *read* the post!]  I was talking about
  1456. the "Other..." on the popup menu, not the scroll bars for selecting
  1457. values.  The scroll bars are obviouly broken.
  1458.  
  1459. btw This "thingy" is called the Colour Picker.
  1460. -- 
  1461. Quinn "The Eskimo!"      <quinn@cs.uwa.edu.au>     "Support HAVOC!"
  1462. Department of Computer Science, The University of Western Australia
  1463.   Repeat 100 times... I will read the post before replying.
  1464.  
  1465. +++++++++++++++++++++++++++
  1466.  
  1467. >From quinn@cs.uwa.edu.au (Quinn "The Eskimo!")
  1468. Date: Mon, 09 May 1994 10:56:32 +0800
  1469. Organization: Department of Computer Science, The University of Western Australia
  1470.  
  1471. In article <1994May5.194830.28693@prz.tu-berlin.de>,
  1472. pcastine@jake.prz.tu-berlin.de (Peter Castine) wrote:
  1473.  
  1474. >quinn@cs.uwa.edu.au (Quinn "The Eskimo!") writes:
  1475. >>pcastine@jake.prz.tu-berlin.de (that's me) wrote:
  1476. >>
  1477. >>>I think, however, you will be hard-pressed to find
  1478. >>>a violation in the Finder.
  1479. >>
  1480. >>OK, I've got a good one!  Why, when you drag a file into a folder where
  1481. >>there already exists a file of the same name, do you have the option of
  1482. >>replacing the original.  Why doesn't the Finder move it to the Trash??? 
  1483. >>OK, so maybe it's not a *real* HIG violation but it's really inconsistent
  1484. >
  1485. >Inconsistent with what?
  1486.  
  1487. Inconsistent with the fact that every other time you try to delete a file
  1488. in the Finder you have a chance to undo that action by dragging it out of
  1489. the Trash.
  1490.  
  1491. >>and consistency is one of the central precepts of the HIG.
  1492. >
  1493. >Consistency is, IMHO, a secondary concern. Smith et.al. discuss the
  1494. >practical issues of maintaining consistency in real world applications
  1495. >in their 1982 article "Designing the Star user interface." (Originally
  1496. >printed in Byte 7(4), reprinted in Baecker & Buxton's _Readings in 
  1497. >Human-Computer Interaction_, the paper is a must-read). Short
  1498. >precis: consistency is the hobgoblin of small minds.
  1499.  
  1500. No, *mindless* adherence to consistency is the hobgoblin of small minds.
  1501.  
  1502. Actually I'd like to know where you precis comes from because my copy of
  1503. Smitch et al says...
  1504.  
  1505. %Everyone agrees that consistency is an admirable goal.  However, it
  1506. %is perhaps the single hardest characterist of all to achieve in a
  1507. %a computer system.  In fact, in systems of even moderate complexity,
  1508. %consistency may not be well defined.
  1509.  
  1510. The fact that seemingly inconsistent behaviour may be good for the user
  1511. (eg their classic drog document on printer example, also dragging floppies
  1512. to the Trash) doesn't imply that you shouldn't evaluate your behaviour in
  1513. terms of the consistent environment you're creating.  Besides the
  1514. behaviour I advocate (moving replaced files to the Trash) is simply better
  1515. than the alternative (deleting them).  Are you arguing otherwise?
  1516.  
  1517. If so then you're arguing directly with the HIG, which advocate
  1518. "Forgiveness" (p10) and says...
  1519.  
  1520. #You can encourage people to explore your application by building in
  1521. #forgiveness.  Forgiveness means that actions on the computer are
  1522. #generally reversible.  People need to feel that they can try things
  1523. #without damaging the system; /create safety nets/ for people so that
  1524. #they feel comfortable learning and using your product. [my italics]
  1525.  
  1526. >>Question #1 Why does it highlight the window (in both cases)?
  1527. >
  1528. >For performance reasons? (Checking privileges might slow down
  1529. >feedback, direct manipulation. I'm obviously guessing on this one).
  1530.  
  1531. Personally I think that's crap -- but I don't know enough about AOCE
  1532. programming to prove it (:
  1533.  
  1534. >>Question #2 Why does it have different behaviour when it finally realises
  1535. >>            that it's failed?
  1536. >
  1537. >What's it supposed to do? Not tell you that it failed? Disregard
  1538. >privileges?
  1539.  
  1540. Yeah, but why *2* different behaviours?
  1541.  
  1542. >>Basically AOCE's HI is severely broken in a lot of places.  
  1543. >
  1544. >Severely? Well, I'll let that pass before a flame war breaks out.
  1545.  
  1546. Well I've got some support out there; see the comments by Willie Abrams
  1547. <willie-abrams@uokhsc.edu>.
  1548. -- 
  1549. Quinn "The Eskimo!"      <quinn@cs.uwa.edu.au>     "Support HAVOC!"
  1550. Department of Computer Science, The University of Western Australia
  1551.  
  1552. +++++++++++++++++++++++++++
  1553.  
  1554. >From howden@munta.cs.mu.OZ.AU (Nicholas James HOWDEN)
  1555. Date: Mon, 9 May 1994 04:16:44 GMT
  1556. Organization: Computer Science, University of Melbourne, Australia
  1557.  
  1558. Paul Ferguson <pferguson@kaleida.com> writes:
  1559.  
  1560. >In article <16674@lhdsy1.lahabra.chevron.com> John V. Blzka,
  1561. >jjvbl@lhdsy1.lahabra.chevron.com writes:
  1562. >> Does Apple violate it's own Guidelines in any of it's System 7  
  1563. >> software?
  1564.  
  1565. >One classic example that comes to mind is the Alarm Clock, which
  1566. >suffers from a bunch of violations:  non-standard controls,
  1567.     ...
  1568. >point in their life were mystified to see a flashing alarm clock
  1569. >where the Apple menu is?)  It's hard to find anything about the
  1570. >alarm clock that doesn't violate the HIG.
  1571.  
  1572. Another good one is when someone sets the alarm clock, but then removes the
  1573. item from the apple menu after it goes off. You then have a flashing alarm
  1574. clock in the apple menu with no way to turn it off (this certainly sounds
  1575. like a Micro$oft 'feature' to me ;-)
  1576.  
  1577. Nick.
  1578. -- 
  1579.  
  1580. - -----------------------------------------------------------------------------
  1581. ********   I F   Y O U   Q U I T ,   Y O U ' L L   N E V E R   W I N   ********
  1582. - -----------------------------------------------------------------------------
  1583.  
  1584. +++++++++++++++++++++++++++
  1585.  
  1586. >From tzs@u.washington.edu (Tim Smith)
  1587. Date: 9 May 1994 07:49:53 GMT
  1588. Organization: University of Washington School of Law, Class of '95
  1589.  
  1590. Thomas Reed  <reed@medicine.wustl.edu> wrote:
  1591. >>Dragging items onto a system folder that's not the one you booted with
  1592. >>doesn't put them in the right place, even if the icons in the folder
  1593. >>(e.g. apple menu items folder) show correctly.
  1594. >
  1595. >Yes, I've often done this.  However, there's really only one way for the
  1596. >computer to know that a folder is the system folder without doing more
  1597. >stuff than it should have to do -- if it has the active system in it.  If
  1598. >every time you dropped something in a folder, the system had to search
  1599. >that folder for a copy of the Finder, then all your moves would take a
  1600. >little longer.  Not only that, but it wouldn't be reliable -- sometimes I
  1601.  
  1602. It would only have to do this when you dropped an extension, control panel,
  1603. or other magic file into a folder.  For most dropping, it doesn't matter
  1604. if the destination is a System Folder, so it would not have to do more
  1605. work in the vast majority of cases.
  1606.  
  1607. --Tim Smith
  1608.  
  1609. +++++++++++++++++++++++++++
  1610.  
  1611. >From dn_crow@bean.open.ac.uk (dn_crow)
  1612. Date: Mon, 9 May 1994 08:43:17 GMT
  1613. Organization: (none)
  1614.  
  1615. In article <jmiller-080594123607@fastlane.com>
  1616. jmiller@connected.com (James Miller) writes:
  1617.  
  1618. > In article <1994May5.184300.25982@leeds.ac.uk>, dn_crow@bean.open.ac.uk
  1619. > (dn_crow) wrote:
  1620. > > However, the Finder disregards this: try loading an application and
  1621. > > bringing it to the front, while still being able to see a finder window
  1622. > > behind it. If you now click over a visible finder icon, the appropriate
  1623. > > Finder window is brought to the front (correct) but the icon is
  1624. > > selected (incorrect).
  1625. > The Finder is not really an application in Apple's eyes, it is the user
  1626. > interface to the system.  The reason an icon will stay selected when
  1627. > another window is brought to the front, is to allow it to more easily copy
  1628. > files from one window to another.
  1629.  
  1630. I'm not arguing that Apple is *wrong* to make the Finder work this way:
  1631. personally, I would like all applications to work like this as I find
  1632. it very useful. OTOH, I can also see why you don't want to do this:
  1633. there are some applications where I need to see the whole window before
  1634. deciding where I click on it, and having to click on the window border
  1635. to bring it to the front would be a pain. Sigh. An insoluable problem,
  1636. probably.
  1637.  
  1638. However right Apple may be in their decision, they are still
  1639. inconsitent with their own HIGs (which apply to the User Interface of
  1640. the whole system: Finder and applications alike).
  1641.  
  1642. Dan
  1643.  
  1644.  
  1645. +++++++++++++++++++++++++++
  1646.  
  1647. >From leblonk@netcom.com (Marcel Blonk)
  1648. Date: Mon, 9 May 1994 09:51:40 GMT
  1649. Organization: NETCOM On-line Communication Services (408 241-9760 guest)
  1650.  
  1651. Maybe this should come under the header of "Apple's blatant disregard for 
  1652. User Opinions"
  1653.  
  1654. In this thread there have been many complaints about the AOCE UI. Not at 
  1655. all unwaranted IMO. My $.02 on this: before AOCE was released, it was 
  1656. shown a couple of times on the WWDC. I, and many others that I've talked 
  1657. to, always found that the interface needed *major* changes (desktop 
  1658. clutter/finderlookalikebutnotthesameafterall type things). These concerns 
  1659. were often voiced, in the different AOCE forums and workgroups. To apple 
  1660. in general and to the development team in particular. Yet, it was released 
  1661. with all the same UI problems that people (in this case, developers 
  1662. mostly) complained about.
  1663.  
  1664. What up with that????
  1665.  
  1666. To me it seems that Apple has entered a stage, in which the big company 
  1667. mentality is slowly creeping in, in which each little department has it's 
  1668. own little territory to defend and defend it they shall, against every one 
  1669. who'd dare challenge them on their terrain (just one example: how come 
  1670. something like AppendDITL is part of the comm toolbox! It's a generic 
  1671. routine, that has NOTHING to do with communications. If the CTB group 
  1672. wanted this routine to be added, it should have been added in a generic 
  1673. place, NOT the CTB toolbox. What if the already poorly supported CTB 
  1674. becomes extinct or replaced by something better? Would the system still 
  1675. have to support CTB just for the xxxDITL routines (which probably are 
  1676. being used by programs that have nothing to do with the CTB, since they 
  1677. are documented as dialog manager extensions)). We see it all the time, 
  1678. different systems extensions are released, and each uses its own ( 
  1679. different) interface philosophy. There is no consistancy between them 
  1680. anymore.
  1681.  
  1682. In several workgroup discussions at the WWDC, I found that the teams 
  1683. showed a certain resistance to remarks coming from the developers like: 
  1684. "wouldn't it be better to combine/make consistant/integrate x with y" 
  1685. where x was developed by a different group than y (again, the AOCE group 
  1686. showed this quite distinctively).
  1687.  
  1688. Is this the end of the Apple we once knew and loved? Is Apple after all, 
  1689. just another company grown big, rigid and more guided by internal politics 
  1690. than by the drive for a better product? I don't know, but that is what I 
  1691. fear is happening.
  1692.  
  1693. Oops, guess I dropped a few cents more then I was planning to.
  1694.  
  1695. mb
  1696.  
  1697. +++++++++++++++++++++++++++
  1698.  
  1699. >From resnick@cogsci.uiuc.edu (Pete Resnick)
  1700. Date: Mon, 09 May 1994 11:15:33 -0500
  1701. Organization: University of Illinois at Urbana-Champaign
  1702.  
  1703. In article <u9119523-040594132452@case4.sys.uea.ac.uk>,
  1704. u9119523@sys.uea.ac.uk (Graham Cox) wrote:
  1705.  
  1706. >Here's a trivial example- not in the system but in most graphics programs,
  1707. >including MacDraw and ClarisWorks- the guidelines say that the cursor keys
  1708. >should never be used to position graphic elements, but most programs do
  1709. >this.
  1710.  
  1711. That's simply false. From the Macintosh Human Interface Guidlines, chapter 10:
  1712.  
  1713.     In a graphics application, the arrow keys can be used for fine movement of
  1714.     selected objects, particularly since graphics applications typically have
  1715.     no insertion point. If a graphics application uses arrow keys, it should
  1716.     be only to move the selected object by the smallest possible increment
  1717.     (one pixel or one grid unit). For example, the user could select an object
  1718.     and use the arrow keys to move one pixel per keystroke in the direction of
  1719.     the arrow key pressed.
  1720.  
  1721. pr
  1722. -- 
  1723. Pete Resnick        (...so what is a mojo, and why would one be rising?)
  1724. Graduate assistant - Philosophy Department, Gregory Hall, UIUC
  1725. System manager - Cognitive Science Group, Beckman Institute, UIUC
  1726. Internet: resnick@cogsci.uiuc.edu
  1727.  
  1728. +++++++++++++++++++++++++++
  1729.  
  1730. >From resnick@cogsci.uiuc.edu (Pete Resnick)
  1731. Date: Mon, 09 May 1994 11:23:16 -0500
  1732. Organization: University of Illinois at Urbana-Champaign
  1733.  
  1734. In article <2qido4$8c4@news.kth.se>, d88-jwa@dront.nada.kth.se (Jon Wätte)
  1735. wrote:
  1736.  
  1737. >In <de19-070594155445@hjpatt-91.umd.edu> de19@umail.umd.edu (Dana S
  1738. Emery) writes:
  1739. >
  1740. >>disagree, the Finder already knows if a viable system is inside, it has to 
  1741. >>in order to show the proper icon for a system folder. 
  1742. >
  1743. >So far so good.
  1744. >
  1745. >>The rest is simply a matter of searching for tagged folders and directing 
  1746. >>the files, and I, as a user would expect that behaviour to be consistant 
  1747. >>for any folder showing the blessed system icon, no matter if it was in fact
  1748. >>the booted system.
  1749. >
  1750. >Exactly how would the Swedish Finder know about the names of the
  1751. >Hindu special folders?
  1752.  
  1753. The same way it knows what the names of the Swedish special folders are:
  1754.  
  1755.     GetResource('fld#', 0);
  1756.  
  1757. pr
  1758. -- 
  1759. Pete Resnick        (...so what is a mojo, and why would one be rising?)
  1760. Graduate assistant - Philosophy Department, Gregory Hall, UIUC
  1761. System manager - Cognitive Science Group, Beckman Institute, UIUC
  1762. Internet: resnick@cogsci.uiuc.edu
  1763.  
  1764. +++++++++++++++++++++++++++
  1765.  
  1766. >From jfw@ksr.com (John F. Woods)
  1767. Date: 9 May 1994 20:36:43 GMT
  1768. Organization: Kendall Square Research
  1769.  
  1770. johan.solve@itn.hh.se (Johan Solve) writes:
  1771. >etaphors that needs to be explained (as the trashcan in the remove-disk
  1772. <case) are not good metaphors. Picture a new user who has never seen a Mac
  1773. >before. He inserts a disk and wants to get it out again. I don't think he
  1774. <even dare to think of dragging it to the trash. There has to be a Mac guru
  1775. >around to explain to him that "in this special case, nothing gets deleted.
  1776. <But the disk will disappear from the desktop (and reappear on the real life
  1777. >desktop...)"
  1778.  
  1779. Let's remember how this came about.  Originally you ejected disks by selecting
  1780. Eject from the menu (or typing command-E); this left a ghost image that had
  1781. to be thrown away.  A lot of people asked for a short cut, and the obvious one
  1782. was the one chosen.  Of course, if you don't KNOW what it's a shortcut for,
  1783. it does seem to mean something else.
  1784.  
  1785. On the other hand, if you had an Ejector on the desktop, what would it mean to
  1786. drag an ordinary file onto it?
  1787.  
  1788. +++++++++++++++++++++++++++
  1789.  
  1790. >From maynard@elwing.otago.ac.nz (Maynard James Handley)
  1791. Date: Mon, 9 May 1994 22:49:13 GMT
  1792. Organization: University of Otago
  1793.  
  1794. Tim Smith (tzs@u.washington.edu) wrote:
  1795. > Quinn "The Eskimo!" <quinn@cs.uwa.edu.au> wrote:
  1796. > >>In the thingy that is used to select a color (get it by selecting "other..."
  1797. > >>for your highlight color in the Colors control panel, or double clicking
  1798. > >>on a palette entry in the pattern editor in the General control panel),
  1799. > >>they use a scroll bar to set brightness.  I think this violates something
  1800. > >>in the User Interface Guidelines.
  1801. > >
  1802. > >Actually it violates the letter, *but not IMHO the spirit*, of the
  1803. > >guideline that states that you should only put settings, as opposed to
  1804. > >commands, in a popup menu.
  1805.  
  1806. > I was thinking of page 215, where it says that scroll bars are *only* to
  1807. > be used to manipulate the relative position in a document or list.  They
  1808. > explicitly say that scroll bars are not to be used where sliders should
  1809. > be used.  Thus, the color selector is a blatant violation.
  1810.  
  1811. > --Tim Smith
  1812.  
  1813. I just want to add two point.
  1814. Firstly, this use of a scroll bar to select the color may seem a minor matter,
  1815. but I have found it really irritating over and over. It should be fixed by 
  1816. Apple even if it seems silly.
  1817. Secondly, Apple have been really dumb by not releasing the slider CDEF inti
  1818. the system, like they did with the PopupMenu CDEF. If they added this to the
  1819. system so that programmers could trivially access and use it, problems like 
  1820. this would go away.
  1821.  
  1822. Maynard Handley
  1823.  
  1824. +++++++++++++++++++++++++++
  1825.  
  1826. >From quinn@cs.uwa.edu.au (Quinn "The Eskimo!")
  1827. Date: Tue, 10 May 1994 11:23:03 +0800
  1828. Organization: Department of Computer Science, The University of Western Australia
  1829.  
  1830. In article <leblonkCpJ4q4.Dou@netcom.com>, leblonk@netcom.com (Marcel
  1831. Blonk) wrote:
  1832.  
  1833. >Is this the end of the Apple we once knew and loved? Is Apple after all, 
  1834. >just another company grown big, rigid and more guided by internal politics 
  1835. >than by the drive for a better product?
  1836.  
  1837. I thought "guided by internal politics" *was* the Apple we once knew and
  1838. loved (:
  1839. -- 
  1840. Quinn "The Eskimo!"      <quinn@cs.uwa.edu.au>     "Support HAVOC!"
  1841. Department of Computer Science, The University of Western Australia
  1842.  
  1843. +++++++++++++++++++++++++++
  1844.  
  1845. >From rmah@panix.com (Robert S. Mah)
  1846. Date: Tue, 10 May 1994 01:48:31 -0500
  1847. Organization: One Step Beyond
  1848.  
  1849. maynard@elwing.otago.ac.nz (Maynard James Handley) wrote:
  1850.  
  1851. > Secondly, Apple have been really dumb by not releasing the slider CDEF 
  1852. > into the system, like they did with the PopupMenu CDEF. If they added
  1853. > this to the system so that programmers could trivially access and use
  1854. > it, problems like this would go away.
  1855.  
  1856. Agreed.  Also why were the little up/down arrow thingies never rolled into
  1857. the system?  I guess we'll never know...
  1858.  
  1859. Also, I never did quite understand why both push buttons, radio buttons,
  1860. check boxes and scroll bars were all rolled into one CDEF.  If _I_ were 
  1861. designing things, I would have put buttons into 1, radio buttons and check
  1862. boxes in another and scroll bars in a third.  Good thing they didn't let
  1863. me do this :-).
  1864.  
  1865. Cheers,
  1866. Rob
  1867. ___________________________________________________________________________
  1868. Robert S. Mah  -=-  One Step Beyond  -=-  212-947-6507  -=-  rmah@panix.com
  1869.  
  1870. +++++++++++++++++++++++++++
  1871.  
  1872. >From deguzman@binkley.math.uiuc.edu (Alan DeGuzman)
  1873. Date: 10 May 1994 07:21:34 GMT
  1874. Organization: Calculus&Mathematica at UIUC
  1875.  
  1876. jfw@ksr.com (John F. Woods) writes:
  1877.  
  1878. [snip]
  1879.  
  1880. >On the other hand, if you had an Ejector on the desktop, what would it mean to
  1881. >drag an ordinary file onto it?
  1882.  
  1883. Nothing. If this Ejector was written only to eject volumes, the Ejector's
  1884. icon would not darken if a file was dragged onto it.
  1885. --
  1886. Alan A. DeGuzman                  "The problem with the future is that it
  1887. Calculus&Mathematica               keeps turning into the present."
  1888. DISCLAIMER: "The University 
  1889. can't afford my opinions."                     - Calvin to Hobbes
  1890.  
  1891. +++++++++++++++++++++++++++
  1892.  
  1893. >From Greg_Marriott@genmagic.com (Greg Marriott)
  1894. Date: Tue, 10 May 1994 09:09:44 -0800
  1895. Organization: General Magic, Inc.
  1896.  
  1897. rmah@panix.com (Robert S. Mah) wrote:
  1898.  
  1899. > Also, I never did quite understand why both push buttons, radio buttons,
  1900. > check boxes and scroll bars were all rolled into one CDEF.
  1901.  
  1902. They weren't.  Buttons are in one CDEF and the scrollbar is in another.
  1903.  
  1904. > I would have put buttons into 1, radio buttons and check
  1905. > boxes in another and scroll bars in a third.
  1906.  
  1907. Separating the buttons would have been a good idea, but it's not so bad the
  1908. way it is since there's a bunch of common code that is shared.
  1909.  
  1910. -- 
  1911. Greg Marriott
  1912. Just Some Guy
  1913. General Magic, Inc.
  1914.  
  1915. Disclaimer: My opinions are not necessarily the same as General Magic's.
  1916.             (can a company even HAVE an opinion?)
  1917.  
  1918. +++++++++++++++++++++++++++
  1919.  
  1920. >From Jens Alfke <jens_alfke@powertalk.apple.com>
  1921. Date: Tue, 10 May 1994 17:47:24 GMT
  1922. Organization: Apple Computer
  1923.  
  1924. Thomas Reed, reed@medicine.wustl.edu writes:
  1925. > Yes, it's true that there has to be "something to be gotten", but I think
  1926. > most applications these days, background or not, call WaitNextEvent, so
  1927. > they can control directly how much time they get by giving different
  1928. > numbers for the sleep value.
  1929.  
  1930. Yes, but if the front app is calling WNE with a very small sleep time -- like
  1931. zero -- then there will be much less time for bg apps to run unless they do
  1932. something evil like running for several seconds at a time without calling WNE.
  1933.   The foreground app should always use a sleep time of infinity unless it
  1934. needs to be doing something periodically like blink an i-beam or check for
  1935. modifier key changes, and even then it should sleep at least 15 ticks or so
  1936. at a time (depending on GetCaretTime, of course.)
  1937.  
  1938. That said, does the Finder really call WNE with a zero sleep time? I'd be
  1939. surprised if it did.
  1940.  
  1941. --Jens Alfke
  1942.   jens_alfke@powertalk              Rebel girl, rebel girl,
  1943.             .apple.com              Rebel girl you are the queen of my world
  1944.  
  1945. +++++++++++++++++++++++++++
  1946.  
  1947. >From Jens Alfke <jens_alfke@powertalk.apple.com>
  1948. Date: Tue, 10 May 1994 18:17:22 GMT
  1949. Organization: Apple Computer
  1950.  
  1951. Paul Ferguson, pferguson@kaleida.com writes:
  1952. > On the other hand, what the
  1953. > slider is doing is changing the brightness from 0-65535, which
  1954. > is exactly what the example shown on that page says is an incorrect
  1955. > use of a scroll bar.
  1956.  
  1957. That's the old color picker. If you install ColorSync you get the New &
  1958. Improved, All Singing All Dancing color picker, which is much, much nicer and
  1959. features sliders instead of scrollbars.
  1960.  
  1961. --Jens Alfke
  1962.   jens_alfke@powertalk              Rebel girl, rebel girl,
  1963.             .apple.com              Rebel girl you are the queen of my world
  1964.  
  1965. +++++++++++++++++++++++++++
  1966.  
  1967. >From platypus@cirrus.som.cwru.edu (Gary Kacmarcik)
  1968. Date: 10 May 1994 22:11:36 GMT
  1969. Organization: Case Western Reserve University, Cleveland, Ohio (USA)
  1970.  
  1971.  
  1972. In article <rmah-100594014831@rmah.dialup.access.net> rmah@panix.com (Robert S. Mah) writes:
  1973. > Also, I never did quite understand why both push buttons, radio buttons,
  1974. > check boxes and scroll bars were all rolled into one CDEF.  If _I_ were 
  1975. > designing things, I would have put buttons into 1, radio buttons and check
  1976. > boxes in another and scroll bars in a third.  Good thing they didn't let
  1977. > me do this :-).
  1978.  
  1979. push buttons, check boxes and radio buttons are in one CDEF (CDEF 0, with
  1980. variation codes of 0, 1 and 2, respectively)
  1981.  
  1982. scrollbars are in a separate CDEF (CDEF 1)
  1983.  
  1984. -gary j kacmarcik
  1985. platypus@cirrus.som.cwru.edu
  1986.  
  1987.  
  1988. +++++++++++++++++++++++++++
  1989.  
  1990. >From rmah@panix.com (Robert S. Mah)
  1991. Date: Tue, 10 May 1994 19:10:18 -0500
  1992. Organization: One Step Beyond
  1993.  
  1994. Greg_Marriott@genmagic.com (Greg Marriott) wrote:
  1995.  
  1996. > rmah@panix.com (Robert S. Mah) wrote:
  1997. > > Also, I never did quite understand why both push buttons, radio buttons,
  1998. > > check boxes and scroll bars were all rolled into one CDEF.
  1999. > They weren't.  Buttons are in one CDEF and the scrollbar is in another.
  2000.  
  2001. Woops!  You are quite right.  I don't know why I thought that until you
  2002. pointed out the error of my ways...
  2003.  
  2004.  
  2005. > > I would have put buttons into 1, radio buttons and check
  2006. > > boxes in another and scroll bars in a third.
  2007. > Separating the buttons would have been a good idea, but it's not so bad 
  2008. > the way it is since there's a bunch of common code that is shared.
  2009.  
  2010. Yes, I understand that many compromises had to be made to fit the original 
  2011. Mac OS into a scant 64K of ROM and 128K of RAM.  That they did it was a 
  2012. marvel.
  2013.  
  2014. Cheers,
  2015. Rob
  2016. ___________________________________________________________________________
  2017. Robert S. Mah  -=-  One Step Beyond  -=-  212-947-6507  -=-  rmah@panix.com
  2018.  
  2019. +++++++++++++++++++++++++++
  2020.  
  2021. >From DACRXL01.OURX124@tcp30.dx.deere.com (Juan Ingles)
  2022. Date: Wed, 11 May 1994 15:28:57 GMT
  2023. Organization: Proteus Ventures, Inc.
  2024.  
  2025. In article <2qkpv1$e9o@news.u.washington.edu>
  2026. tzs@u.washington.edu (Tim Smith) writes:
  2027.  
  2028. > It would only have to do this when you dropped an extension, control panel,
  2029. > or other magic file into a folder.  For most dropping, it doesn't matter
  2030. > if the destination is a System Folder, so it would not have to do more
  2031. > work in the vast majority of cases.
  2032. > --Tim Smith
  2033.  
  2034. Yes it would: It would have to check every single file to see if it was
  2035. an extension, control panel, or other magic file.
  2036.  
  2037. Juan Ingles
  2038. <DACRXL01.OURX124@tcp30.dx.deere.com>
  2039. --
  2040. Proteus Ventures, Inc. - Computer Software Consulting and Development
  2041.     1514 Oriole Ave * Waterloo, IA 50701 * (319) 232-0985
  2042.  
  2043. +++++++++++++++++++++++++++
  2044.  
  2045. >From mbishop@pliny.ccs.itd.umich.edu (Michael J. Bishop)
  2046. Date: 11 May 1994 18:00:02 GMT
  2047. Organization: University of Michigan
  2048.  
  2049. John F. Woods (jfw@ksr.com) wrote:
  2050.  
  2051. : johan.solve@itn.hh.se (Johan Solve) writes:
  2052. : >etaphors that needs to be explained (as the trashcan in the remove-disk
  2053. : <case) are not good metaphors. Picture a new user who has never seen a Mac
  2054. : >before. He inserts a disk and wants to get it out again. I don't think he
  2055. : <even dare to think of dragging it to the trash. There has to be a Mac guru
  2056. : >around to explain to him that "in this special case, nothing gets deleted.
  2057. : <But the disk will disappear from the desktop (and reappear on the real life
  2058. : >desktop...)"
  2059.  
  2060. : Let's remember how this came about.  Originally you ejected disks by selecting
  2061. : Eject from the menu (or typing command-E); this left a ghost image that had
  2062. : to be thrown away.  A lot of people asked for a short cut, and the obvious one
  2063. : was the one chosen.  Of course, if you don't KNOW what it's a shortcut for,
  2064. : it does seem to mean something else.
  2065.  
  2066. : On the other hand, if you had an Ejector on the desktop, what would it mean to
  2067. : drag an ordinary file onto it?
  2068.  
  2069.  
  2070. Here's what I think Apple should do. Let me know if you think it is good 
  2071. or bad.
  2072.  
  2073. -- after I installed the Hardware system update on my powerbook, when I
  2074. hit the power button, it performed the same command as if I had selected
  2075. "Shut Down". It's the old "hardware/software integration" genius that
  2076. Apple is famous for. 
  2077.  
  2078. Why don't they do this for the disk drive? Why don't they make a button 
  2079. that when pushed performs the same command as if the user selected "Put 
  2080. Away" from the File menu?
  2081.  
  2082. People expect there to be an eject button like on a PC. Putting a button 
  2083. which triggers the software is the best compromise, I believe because it 
  2084. still allows Apple to do that cool hardware integration stuff but is 
  2085. still intuitive to the user.
  2086.  
  2087. I personally *hate* having to select Shut Down to turn of my mac so the 
  2088. Hardware update was genius and much needed IMO.
  2089.  
  2090. --
  2091. _____________________________________________________________________________
  2092.  Michael Bishop     "The best way to predict the future is to invent it."
  2093.  mbishop@umich.edu                        - Alan Kay
  2094.  
  2095. +++++++++++++++++++++++++++
  2096.  
  2097. >From Ron_Hunsinger@bmug.org (Ron Hunsinger)
  2098. Date: Wed, 11 May 94 06:26:41 PST
  2099. Organization: Berkeley Macintosh Users Group
  2100.  
  2101. To: resnick@cogsci.uiuc.edu (Pete Resnick),UUCP
  2102.  
  2103. >In article <2qido4$8c4@news.kth.se>, d88-jwa@dront.nada.kth.se (Jon Wdtte)
  2104. >wrote:
  2105. >
  2106. >>Exactly how would the Swedish Finder know about the names of the
  2107. >>Hindu special folders?
  2108. >
  2109. >The same way it knows what the names of the Swedish special folders are:
  2110. >
  2111. >    GetResource('fld#', 0);
  2112. >
  2113.  
  2114. Wouldn't work.  This would only tell the Swedish Finder the names of the 
  2115. *Swedish* special folders.  Although...
  2116.  
  2117. If Apple was hard-pressed, I suppose the active Finder could look in
  2118. the boot blocks of the other System Folder's volume to get the name of
  2119. the other Finder, then open the other Finder's resource fork and get the 
  2120. folder names from it.  And do all this only if the destination folder 
  2121. matches the id of the blessed folder (available from vcbFndrInfo).  Might 
  2122. actually be doable in reasonable time, because you would only have to open 
  2123. the other Finder if you actually had files to disburse into special folders.
  2124.  
  2125. >pr
  2126. >-- 
  2127. >Pete Resnick    (...so what is a mojo, and why would one be rising?)
  2128.  
  2129. According to "The Official Scrabble Players Dictionary (Second Edition)":
  2130.  
  2131.     MOJO   n,  pl. -JOS or -JOES,  a magic charm.
  2132.  
  2133. I believe this is New Orleans slang, possibly of Cajun origin.
  2134.  
  2135. In any event, "Mr. Mojo Risin" is an anagram for "Jim Morrison".
  2136.  
  2137. Just so you'll know...
  2138. -Ron Hunsinger
  2139.  
  2140. +++++++++++++++++++++++++++
  2141.  
  2142. >From ruhl@du.edu (ROBERT A. UHL )
  2143. Date: Wed, 11 May 1994 22:04:07 GMT
  2144. Organization: University of Denver
  2145.  
  2146. In article <2qarlc$e1n@vixen.cso.uiuc.edu> aad@uiuc.edu writes:
  2147. >alister@netcom.com (Rick Reynolds aka GreenGoo) writes:
  2148. >
  2149. >>>How 'bout dragging a disk to the trash to eject it?
  2150. >
  2151. >
  2152. >>I never really thought much about this issue but I think there should
  2153. >>have been a disk drive icon on the desktop, always visable but somehow
  2154. >>conveying to the user that a disk is inserted.
  2155. >
  2156. >Uh, what about the disk's icon? Granted, it can be hidden behind windows,
  2157. >but I'd rather have what *I* want to stay on top of the desktop layer
  2158. >rather than some floating icons or whatever.
  2159. >
  2160. >>When the user wants
  2161. >>to change disks they can press an "eject" button on the icon. But alas
  2162. >>that brings up the problem of having a control (which woule have to be
  2163. >>smaller then other controls) on a Finder icon.
  2164. >
  2165. >Now you're on to something. How about letting every icon that is a volume
  2166. >have a 'switch' or 'button' drawn on (or near) the icon that let's you
  2167. >eject the volume (eject in the sense of "Put Away"). It could even be dimmed
  2168. >out for volumes that can't be "Put Away", like the startup volume.
  2169. >--
  2170. >Alan A. DeGuzman
  2171.  
  2172. Here's another idea:
  2173. I've always thought that ejecting the disk should get rid of it; you
  2174. know, if it's out, I can put it in the box and forget about it. Also,
  2175. the 'Eject' button in the SF dialogs is not a true (IMO) eject;
  2176. nothing is more annoying to be flipping through floppies on the SF
  2177. dialog (which I do a lot) and, when you quit, finding a whole mess of
  2178. grey floppy icons.
  2179. So... I propose that 'Eject' take the place of the current 'Put Away',
  2180. and that the 'spit-out-the-disk-but-keep-it-mounted' action be
  2181. renamed. Not only would this be helpful in the above mentioned ways,
  2182. but command-E would truly eject the ?!*% disk.
  2183.  
  2184. -- 
  2185. - -------------------------------------------------------
  2186. | Bob Uhl | Spectre                  | Christos Anesti! |
  2187. | U of D  | Baron Robert von Raetzin | Alithos Anesti!  |
  2188. - -------------------------------------------------------
  2189.  
  2190. +++++++++++++++++++++++++++
  2191.  
  2192. >From ldo@waikato.ac.nz (Lawrence D'Oliveiro, Waikato University)
  2193. Date: 12 May 94 17:14:12 +1200
  2194. Organization: University of Waikato, Hamilton, New Zealand
  2195.  
  2196. In article <2qido4$8c4@news.kth.se>, d88-jwa@dront.nada.kth.se (Jon Wätte) writes:
  2197. >
  2198. > Exactly how would the Swedish Finder know about the names of the
  2199. > Hindu special folders?
  2200.  
  2201. I guess the same way it would know about the Muslim special folders, or
  2202. the Christian special folders, or the Jewish ones, or the atheist ones. :-)
  2203.  
  2204. Lawrence
  2205. (born in a place long influenced by Indian culture)
  2206.  
  2207. +++++++++++++++++++++++++++
  2208.  
  2209. >From pcastine@tubprz.prz.tu-berlin.de (Peter Castine)
  2210. Date: Thu, 12 May 1994 11:10:49 GMT
  2211. Organization: PRZ TU-Berlin
  2212.  
  2213. In article <Cpnryv.CsE@du.edu> ruhl@du.edu (ROBERT A. UHL ) writes:
  2214. >
  2215. >So... I propose that 'Eject' take the place of the current 'Put Away',
  2216. >and that the 'spit-out-the-disk-but-keep-it-mounted' action be
  2217. >renamed. Not only would this be helpful in the above mentioned ways,
  2218. >but command-E would truly eject the ?!*% disk.
  2219.  
  2220. No, no, no, no.
  2221.  
  2222. You need the 'spit-out-the-disk-but-keep-it-mounted' feature in order
  2223. to copy disks on Macs with only one floppy drive (which is surely
  2224. the vast majority of machines out there). 
  2225.  
  2226. There is NOTHING to be gained by renaming menu commands in 1994. There
  2227. are people out there who have been happily dragging disks to the
  2228. trash for over ten years. To quote Tog: "An imporant aspect of
  2229. consistency was defined by Smith et al. [1983] in this way: 'Consistency
  2230. asserts that mechanisms should be used in the same way wherever they
  2231. occur.' I would add, by inference, 'and _when_ever they occur':
  2232. first release or fifth release." (from "Consistency", in The Art
  2233. of Human-Computer Interface Design, Addison-Wesley 1990, Tog's emphasis.)
  2234.  
  2235. We now have in the current system:
  2236.  
  2237. 1) A menu command (w/ command-key equivalent) for ejecting a disk.
  2238. 2) A menu command (w/ command-key equivalent) for ejecting AND unmounting
  2239.    a disk.
  2240. 3) A simple mouse gesture for ejecting AND unmounting a disk.
  2241.  
  2242. I honestly can *NOT* understand all this bitching about (3) above. If
  2243. you don't want to drag the disk to the trash, then DON'T DO IT. Hit
  2244. Command-Y and shut up. 
  2245.  
  2246. (BTW, despite my current .sig, this is one point where there is simply
  2247. nothing to be gained by negating the principle of consistency.)
  2248.  
  2249.  
  2250. -- 
  2251. Peter Castine                  | Con'sis'ten'cy (n., pl. -cies)
  2252. pcastine@prz.tu-berlin.de      | 1a) last refuge of the unimaginative
  2253. - -----------------------------| b) hobgoblin of little minds
  2254.    ``Have Mac, will travel''   | (Apologies to Webster, Emerson, & Wilde)
  2255.  
  2256. +++++++++++++++++++++++++++
  2257.  
  2258. >From gjw2824@hertz.njit.edu (Greg Weston)
  2259. Date: 12 May 94 05:04:11 GMT
  2260. Organization: New Jersey Institute of Technology, Newark, New Jersey
  2261.  
  2262. In article <1994May5.172800.22102@bme.ri.ccf.org>,
  2263. Chuck Simciak <simciac@ccsmtp.ccf.org> wrote:
  2264. >I'm not sure if this counts as breaking an interface guideline but it is
  2265. >very annonying.  Say I go to save a file, the StandardPutFile dialog
  2266. >emerges and I have to navigate several folders to get to my desitination.
  2267. > The file name field has already been filled with a defualt.  Here's the
  2268. >catch.  Upon having navigated the multiple folders to place the file, the
  2269. >SAVE button is now an OPEN button.  I then have to click in the filename
  2270. >text field to cause the button to CHANGE to SAVE.  This "feature" was
  2271. >introduced in System 7 and has been a source of nuisance ever since.
  2272.  
  2273. I find it tedious, too. But it is a little easier (I find) to press
  2274. tab, which toggles between manipulating the list and the field, than
  2275. to grab the mouse and click. (Since in that situation, I've usually
  2276. had my hands on the keyboard up til then anyway.)
  2277.     Greg
  2278.  
  2279. +++++++++++++++++++++++++++
  2280.  
  2281. >From gt7344b@prism.gatech.edu (MMMMM MMMMM)
  2282. Date: 12 May 1994 11:57:20 -0400
  2283. Organization: Georgia Institute of Technology
  2284.  
  2285. In article <1994May12.111049.29637@prz.tu-berlin.de> pcastine@tubprz.prz.tu-berlin.de (Peter Castine) writes:
  2286. >In article <Cpnryv.CsE@du.edu> ruhl@du.edu (ROBERT A. UHL ) writes:
  2287. >I honestly can *NOT* understand all this bitching about (3) above. If
  2288. >you don't want to drag the disk to the trash, then DON'T DO IT. Hit
  2289. >Command-Y and shut up. 
  2290. >
  2291.  
  2292. I think you're forgetting the original point of this thread.  Yes,
  2293. dragging a disk to the trash is quick, easy, and we all do it.  But it
  2294. does violate the Mac HIG.  
  2295.  
  2296. It's unintuitive.  And I'm willing to admit that I was terrified the first
  2297. time I tried dragging a floppy to the trash. 
  2298.  
  2299.  
  2300.  
  2301. -- 
  2302.   /////////\    /////////\    /////////\    /////////\    /////////\    
  2303.   \_____// /   //\____// /   //\____// /   //\____// /   //\____// /   
  2304.        ///////// /   ///////// /   ///////// /   ///////// /   /////////\
  2305.        \_______\/    \_______\/    \_______\/    \_______\/    \_______\/ 
  2306.  
  2307. +++++++++++++++++++++++++++
  2308.  
  2309. >From mxmora@unix.sri.com (Matt Mora)
  2310. Date: 12 May 1994 08:54:10 -0700
  2311. Organization: SRI International, Menlo Park, CA
  2312.  
  2313. In article <1994May12.111049.29637@prz.tu-berlin.de> pcastine@tubprz.prz.tu-berlin.de (Peter Castine) writes:
  2314.  
  2315. >No, no, no, no.
  2316. >
  2317. >You need the 'spit-out-the-disk-but-keep-it-mounted' feature in order
  2318. >to copy disks on Macs with only one floppy drive (which is surely
  2319. >the vast majority of machines out there). 
  2320.  
  2321. nah, what we need to implement is Andy Herzfeld (sp?) velocity
  2322. feature. Pick up a disk icon with the mouse and throw it off the desktop
  2323. to eject it. :-) The disk icon would then glide across the desktop and when it
  2324. the icon was completly off the desktop, it would eject. Kind of like when
  2325. a disk falls off your desk. 
  2326.  
  2327. If you didn't throw it hard enough it would glide to a halt some where on 
  2328. your desktop.
  2329.  
  2330. Ejecting a disk should be fun!
  2331.  
  2332.  
  2333. Xavier
  2334.  
  2335. -- 
  2336. ___________________________________________________________
  2337. Matthew Xavier Mora                       Matt_Mora@sri.com
  2338. SRI International                       mxmora@unix.sri.com
  2339. 333 Ravenswood Ave                    Menlo Park, CA. 94025
  2340.  
  2341. +++++++++++++++++++++++++++
  2342.  
  2343. >From sbb@panix.com (Steve Baumgarten)
  2344. Date: 12 May 94 12:51:39
  2345. Organization: PANIX Public Access Unix, NYC
  2346.  
  2347. In article <2qtjl0$ob9@acme.gatech.edu> gt7344b@prism.gatech.edu (MMMMM MMMMM) writes:
  2348.  
  2349.    I think you're forgetting the original point of this thread.  Yes,
  2350.    dragging a disk to the trash is quick, easy, and we all do it.  But
  2351.    it does violate the Mac HIG.
  2352.  
  2353. No it doesn't.  It's a shortcut you don't have to use.  Try selecting
  2354. "Put Away" from the menu; or select "Eject", and then with the disk in
  2355. your hand you should have no fear of dragging the dimmed icon to the
  2356. trash.
  2357.  
  2358.    It's unintuitive.  And I'm willing to admit that I was terrified
  2359.    the first time I tried dragging a floppy to the trash.
  2360.  
  2361. Should have tried using the menus first; that's what they're there
  2362. for. 
  2363.  
  2364. If it were the Mac's sole means of ejecting a floppy, then yes, I'd
  2365. agree that it's not intuitive.  But a menu choice labeled "Eject" is
  2366. pretty intuitive, you have to admit...
  2367.  
  2368. --
  2369.     Steve Baumgarten       |  "New York... when civilization falls apart,
  2370.     PANIX, New York, NY    |   remember, we were way ahead of you."
  2371.                            |  
  2372.     Email: sbb@panix.com   |                            - David Letterman
  2373.  
  2374. +++++++++++++++++++++++++++
  2375.  
  2376. >From pcastine@tubprz.prz.tu-berlin.de (Peter Castine)
  2377. Date: Thu, 12 May 1994 17:11:36 GMT
  2378. Organization: PRZ TU-Berlin
  2379.  
  2380. gt7344b@prism.gatech.edu (MMMMM MMMMM) writes:
  2381. >
  2382. >pcastine@tubprz.prz.tu-berlin.de (Peter Castine) writes:
  2383. >>I honestly can *NOT* understand all this bitching about (3) above. If
  2384. >>you don't want to drag the disk to the trash, then DON'T DO IT. Hit
  2385. >>Command-Y and shut up. 
  2386. >>
  2387. >
  2388. >I think you're forgetting the original point of this thread.  Yes,
  2389. >dragging a disk to the trash is quick, easy, and we all do it.  But it
  2390. >does violate the Mac HIG.  
  2391.  
  2392. No it doesn't. It's an extension of the Finder's interface.
  2393.  
  2394. Take a look at HIG p. 38 ('When to go beyond the guidelines'):
  2395.  
  2396.     There are times when the standard user interface doesn't cover the
  2397.     needs of your application. This is true in the following situations:
  2398.  
  2399.     o Your are creating a new feature for which no element or behavior
  2400.       exists. In this case, you can extend the Macintosh user interface
  2401.       in a prescribed way.
  2402.  
  2403.     o  An existing element does almost everything you need it to, but
  2404.        a little modification that improves its functions makes the 
  2405.        difference to your application.
  2406.  
  2407. The drag-disk-to-trash convention is *built on an existing interface
  2408. convention.* (Cf. HIG p. 39) To repeat: the original method was to Eject 
  2409. (or Command-E) the disk and drag the off-line icon to the trash. 
  2410.  
  2411. >It's unintuitive.  And I'm willing to admit that I was terrified the first
  2412. >time I tried dragging a floppy to the trash. 
  2413.  
  2414. Gee, I dunno. I seem to remember way back in spring of '84 wondering
  2415. "how do I get rid of this disk?", checking out the menus and finding
  2416. Eject. Sure, I was a little surprised when the shadow of the disk
  2417. stayed on the desk, but since there didn't seem to be any other
  2418. appropriate menu items, I dragged the outline to the trash. A day
  2419. or two later, I thought "Why not combine the two steps and drag the
  2420. disk straight to the trash? This is a Mac, before something aweful
  2421. happens, one of these funny message window thingies is sure to pop
  2422. up and let me back out." (How many people remember the funny alert
  2423. icons Apple used back then? Now, *those* were worth changing.)
  2424.  
  2425. Nowadays, I think a lot of beginners click on that funny question
  2426. mark thingie at the top right of the screen. Guess what Balloon
  2427. Help says about the trash?
  2428.  
  2429. BTW, the adjective should be 'unintuitable'. See _Tog on Interface_.
  2430. Sorry, I'm getting pedantic.
  2431.  
  2432. Admittedly, naive Mac users sometimes get nervous when they see me
  2433. dragging a disk to the trash. When this happens, I also go into
  2434. teacher mode, do the two-step Eject/Trash Outline procedure,
  2435. demonstrate the Put Away command, and then show the one-step
  2436. Trash shortcut. But I'd bet they hit on the idea in a couple
  2437. of weeks on their own.
  2438.  
  2439. Wonder which people work out faster--dragging a disk to the trash
  2440. or the 'xp' trick in vi?
  2441.  
  2442.  
  2443. -- 
  2444. Peter Castine                  | Con'sis'ten'cy (n., pl. -cies)
  2445. pcastine@prz.tu-berlin.de      | 1a) last refuge of the unimaginative
  2446. - -----------------------------| b) hobgoblin of little minds
  2447.    ``Have Mac, will travel''   | (Apologies to Webster, Emerson, & Wilde)
  2448.  
  2449. +++++++++++++++++++++++++++
  2450.  
  2451. >From Antoine Paul Brusseau <ab2y+@andrew.cmu.edu>
  2452. Date: Thu, 12 May 1994 16:34:49 -0400
  2453. Organization: Carnegie Mellon, Pittsburgh, PA
  2454.  
  2455. Excerpts from netnews.comp.sys.mac.programmer: 12-May-94 Re: Apple's
  2456. blatant disrega.. by Peter Castine@tubprz.prz 
  2457. > Take a look at HIG p. 38 ('When to go beyond the guidelines'):
  2458. >         There are times when the standard user interface doesn't cover the
  2459. >         needs of your application. This is true in the following situations:
  2460. >         o Your are creating a new feature for which no element or behavior
  2461. >           exists. In this case, you can extend the Macintosh user interface
  2462. >           in a prescribed way.
  2463. >         o  An existing element does almost everything you need it to, but
  2464. >            a little modification that improves its functions makes the 
  2465. >            difference to your application.
  2466. >
  2467. >The drag-disk-to-trash convention is *built on an existing interface
  2468. >convention.* (Cf. HIG p. 39) To repeat: the original method was to Eject 
  2469. >(or Command-E) the disk and drag the off-line icon to the trash.
  2470.  
  2471.  
  2472.     If Apple had added a close box to disk icons, people wouldn't be
  2473. declaring this a violation of HIG. The problem is, the trash icons most
  2474. common analogy is that of a place one puts items in order to
  2475. *PERMANENTLY DESTROY THEM*. Putting a disk in the trash, does not do
  2476. this. This violates peoples expectations. Thus, it is a poor UI design
  2477. decision. Whereas, a close box is used to remove an item from the
  2478. desktop. Putting a close box on disk icons would have built on an
  2479. existing interface convention without violating any preexisting ones (I
  2480. think:).
  2481.  
  2482. Tony
  2483.  
  2484. +++++++++++++++++++++++++++
  2485.  
  2486. >From Stephen Jonke <jonke@gsfc.nasa.gov>
  2487. Date: 12 May 1994 22:09:24 GMT
  2488. Organization: NASA GSFC
  2489.  
  2490. Sorry if this is a repeat, but you can use "Put Away" (Command-Y) in the
  2491. "File" menu to unmount a disk.  I can't remember when this capabilit was
  2492. added to Put Away - some version of System 7 in any case.  This concept
  2493. is somewhat intuitive, except that "Eject Disk" seems like it should do
  2494. this and it draws the users attention.  My sister has been using Eject
  2495. Disk when she wants to just get the disk out and I can understand why as
  2496. this seems the intuitive thing to do.  Does anyone every use "Eject Disk"
  2497. in its current form intentionally any more?  Seems like the simple
  2498. solution is to change it's functionality so that it unmounts the disk
  2499. without leaving the ghost icon on the desktop, as one would expect.  Keep
  2500. the drag to trash alternative since lots of Mac users are use to that. 
  2501. And then have it so that if you select a floppy disk and pick "Duplicate"
  2502. it does the floppy copying shennanigans.  Doesn't this make a heck of a
  2503. lot more sense?
  2504.  
  2505. Steve
  2506.  
  2507. - -------------------
  2508.  jonke@gsfc.nasa.gov
  2509. - -------------------
  2510.  
  2511. +++++++++++++++++++++++++++
  2512.  
  2513. >From pcastine@tubprz.prz.tu-berlin.de (Peter Castine)
  2514. Date: Fri, 13 May 1994 08:38:56 GMT
  2515. Organization: PRZ TU-Berlin
  2516.  
  2517. mbishop@pliny.ccs.itd.umich.edu (Michael J. Bishop) writes:
  2518. >
  2519. >Here's what I think Apple should do. Let me know if you think it is good 
  2520. >or bad.
  2521. >
  2522. >-- after I installed the Hardware system update on my powerbook, when I
  2523. >hit the power button, it performed the same command as if I had selected
  2524. >"Shut Down". It's the old "hardware/software integration" genius that
  2525. >Apple is famous for. 
  2526. >
  2527. >Why don't they do this for the disk drive? Why don't they make a button 
  2528. >that when pushed performs the same command as if the user selected "Put 
  2529. >Away" from the File menu?
  2530. >
  2531. >People expect there to be an eject button like on a PC. Putting a button 
  2532. >which triggers the software is the best compromise, I believe because it 
  2533. >still allows Apple to do that cool hardware integration stuff but is 
  2534. >still intuitive to the user.
  2535.  
  2536. There is a question of cost. 
  2537.  
  2538. Anyone care to estimate what that would add to the price of a Mac?
  2539. A simple mechanical switch isn't going to do the trick, you need
  2540. something that will send a signal to the logic board, etc.
  2541.  
  2542. And don't forget that adding, say $5, to manufacturing costs means
  2543. a three digit price increse for the consumer.
  2544.  
  2545. Still, it's not a bad idea. But see my next comment.
  2546.  
  2547. >I personally *hate* having to select Shut Down to turn of my mac so the 
  2548. >Hardware update was genius and much needed IMO.
  2549.  
  2550. Using the power switch as a shortcut for Shut Down makes sense on a
  2551. PowerBook for two reasons: 1) the switch already has the necessary
  2552. connections to the logic board (you couldn't do this on an SE, where
  2553. the power switch simply cuts of the power supply) and 2) you can
  2554. normally reach the switch on a PB without any inconvenience. Many
  2555. Quadra and Mac II boxes are stuck under a desk (and with them the
  2556. diskette drives)--in this configuration, menu commands are considerably
  2557. more convenient. And, although I use the PowerKey extension so I
  2558. can drop into MacsBugs from the keyboard, I don't really want to
  2559. have the Shut Down command anywhere on my keyboard--too easy
  2560. to hit by accident (of course, some people *do* map some key
  2561. combinations to the Shut Down command... and one of them wrote
  2562. an extension so that Shut Down produces an Alert "Do you really
  2563. want to shut down now?" because he hit the key combination by
  2564. accident too often. This is progress :-? )
  2565.  
  2566. I'm not sure if it's possible for an extension to catch the signal
  2567. sent by the power switch on the Mac II family and cause it to 
  2568. initiate the Shut Down sequence. Now that the subject has been on 
  2569. the net, I expect somebody will try. ;-)
  2570.  
  2571. -- 
  2572. Peter Castine                  | Con'sis'ten'cy (n., pl. -cies)
  2573. pcastine@prz.tu-berlin.de      | 1a) last refuge of the unimaginative
  2574. - -----------------------------| b) hobgoblin of little minds
  2575.    ``Have Mac, will travel''   | (Apologies to Webster, Emerson, & Wilde)
  2576.  
  2577. +++++++++++++++++++++++++++
  2578.  
  2579. >From pcastine@tubprz.prz.tu-berlin.de (Peter Castine)
  2580. Date: Fri, 13 May 1994 09:07:26 GMT
  2581. Organization: PRZ TU-Berlin
  2582.  
  2583. Antoine Paul Brusseau <ab2y+@andrew.cmu.edu> writes:
  2584. >
  2585. >    If Apple had added a close box to disk icons, people wouldn't be
  2586. >declaring this a violation of HIG. The problem is, the trash icons most
  2587. >common analogy is that of a place one puts items in order to
  2588. >*PERMANENTLY DESTROY THEM*. 
  2589.  
  2590. *NO IT DOES NOT*. Drag some files to the trash. See the trash can
  2591. get fat. Open the trash. There are your files. Select a file. Use
  2592. the Put Away command. Hey, presto-the file is back where it came
  2593. from. Drag another file onto the desktop. There it is--this is
  2594. not permanent destruction.
  2595.  
  2596. This is a Mac, not an Atari.
  2597.  
  2598. Selecting "Empty Trash" permanently destroys the file (well, for
  2599. most users it's close enough to destruction). You also get
  2600. an alert warning you of this (just like HIG advises).
  2601.  
  2602. > Putting a disk in the trash, does not do
  2603. >this. This violates peoples expectations. Thus, it is a poor UI design
  2604. >decision. Whereas, a close box is used to remove an item from the
  2605. >desktop. Putting a close box on disk icons would have built on an
  2606. >existing interface convention without violating any preexisting ones (I
  2607. >think:).
  2608.  
  2609. A disk icon is a fairly small object. 32x32 pixels. A close box is also
  2610. a small object. 10x10 pixels. That's 10% of a disk icon. 10% is actually
  2611. a lot (particularly nowadays, with custom disk icons that have rockets
  2612. shooting out of them). 
  2613.  
  2614. [As a footnote, Fitt's law would indicate that it takes about three
  2615. times as long to move the mouse to a close box as it does to move
  2616. the mouse to grab a disk icon for dragging. Someone want to do
  2617. a comparison of these two alternatives for un-mounting a disk
  2618. a la Card et.al.'s _The Psychology of Human-Computer Interaction_?]
  2619.  
  2620. I'm not saying that the suggestion to add a close box is a bad one.
  2621. However, I think it needs to be thought through more thoroughly.
  2622.  
  2623. -- 
  2624. Peter Castine                  | Con'sis'ten'cy (n., pl. -cies)
  2625. pcastine@prz.tu-berlin.de      | 1a) last refuge of the unimaginative
  2626. - -----------------------------| b) hobgoblin of little minds
  2627.    ``Have Mac, will travel''   | (Apologies to Webster, Emerson, & Wilde)
  2628.  
  2629. +++++++++++++++++++++++++++
  2630.  
  2631. >From pcastine@tubprz.prz.tu-berlin.de (Peter Castine)
  2632. Date: Fri, 13 May 1994 09:28:02 GMT
  2633. Organization: PRZ TU-Berlin
  2634.  
  2635. Stephen Jonke <jonke@gsfc.nasa.gov> writes:
  2636. >Sorry if this is a repeat, but you can use "Put Away" (Command-Y) in the
  2637. >"File" menu to unmount a disk.  I can't remember when this capabilit was
  2638. >added to Put Away - some version of System 7 in any case.  
  2639.  
  2640. 7.0d1, if I'm not mistaken. As far as users are concerned, since day
  2641. 1 A.S. (anno septimum, or whatever the Latin would be :)
  2642.  
  2643. > This concept
  2644. >is somewhat intuitive, except that "Eject Disk" seems like it should do
  2645. >this and it draws the users attention.  My sister has been using Eject
  2646. >Disk when she wants to just get the disk out and I can understand why as
  2647. >this seems the intuitive thing to do.  Does anyone every use "Eject Disk"
  2648. >in its current form intentionally any more?  
  2649.  
  2650. Yes!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  2651. Constantly.
  2652.  
  2653. > Seems like the simple
  2654. >solution is to change it's functionality 
  2655.  
  2656. No. 
  2657.  
  2658. Changing functionality of commands between software versions
  2659. is one of the worst possible violations of human interface design
  2660. concievable. Think about it--what would happen if Ford swapped the
  2661. position of the emergency brake and the gear shift. Or, if you're
  2662. using automatic transmission, how about swapping the gas pedal
  2663. and the brake. Think about it--do you really want to have to check
  2664. the system software version every time you sit down at a new Mac
  2665. so that you know which command configuration you've got?
  2666.  
  2667. >so that it unmounts the disk
  2668. >without leaving the ghost icon on the desktop, as one would expect.  Keep
  2669. >the drag to trash alternative since lots of Mac users are use to that. 
  2670. >And then have it so that if you select a floppy disk and pick "Duplicate"
  2671. >it does the floppy copying shennanigans.  Doesn't this make a heck of a
  2672. >lot more sense?a
  2673.  
  2674. System 8 might extend Duplicate to copying disks. I rather expect not,
  2675. since the current trend in the interface is towards enhanced use of
  2676. mouse gestures (there will be less Cut/COpy/Paste as drag-and-drop
  2677. is implemented in more and more applications). In fact, the mouse
  2678. gesture for copying disks was one of the earliest implementations
  2679. of drag-and-drop on Macintosh.
  2680.  
  2681. -- 
  2682. Peter Castine                  | Con'sis'ten'cy (n., pl. -cies)
  2683. pcastine@prz.tu-berlin.de      | 1a) last refuge of the unimaginative
  2684. - -----------------------------| b) hobgoblin of little minds
  2685.    ``Have Mac, will travel''   | (Apologies to Webster, Emerson, & Wilde)
  2686.  
  2687. +++++++++++++++++++++++++++
  2688.  
  2689. >From D.A.G.Gillies@bradford.ac.uk (David Gillies)
  2690. Date: Fri, 13 May 1994 12:25:46 GMT
  2691. Organization: Unseen University, Ankh-Morpork
  2692.  
  2693. In article <Cpnryv.CsE@du.edu> ruhl@du.edu (ROBERT A. UHL ) writes:
  2694. >Here's another idea:
  2695. >I've always thought that ejecting the disk should get rid of it; you
  2696. >know, if it's out, I can put it in the box and forget about it. Also,
  2697. >the 'Eject' button in the SF dialogs is not a true (IMO) eject;
  2698. >nothing is more annoying to be flipping through floppies on the SF
  2699. >dialog (which I do a lot) and, when you quit, finding a whole mess of
  2700. >grey floppy icons.
  2701. >So... I propose that 'Eject' take the place of the current 'Put Away',
  2702. >and that the 'spit-out-the-disk-but-keep-it-mounted' action be
  2703. >renamed. Not only would this be helpful in the above mentioned ways,
  2704. >but command-E would truly eject the ?!*% disk.
  2705. >
  2706. Of course 'Eject' ejects the disk. It enables you to remove it from the disk
  2707. drive, doesn't it? That fits any reasonable definiton of eject in my book.
  2708. It takes most people with an IQ higher than that of a potato to realise
  2709. the difference between 'Eject', and 'Put Away'. For those amongst us who are
  2710. not completely illiterate, the distinction is also pointed out in *the manual*
  2711. (you know, that big thick ring-bound thing that is put on one side by MacBozos
  2712. and never read, thereby generating 98% of tech support traffic, and giving
  2713. rise to those 'Tricks'n'Tips' columns in magazines, full of things like "did
  2714. you know that if you hold down the option key when opening a folder, the
  2715. parent folder will disappear?")
  2716.  
  2717. Changing the way this works now would only serve to confuse the people who
  2718. extracted their heads from their arses long enough to actually understand
  2719. how to use a Mac.
  2720.  
  2721. Keeping volumes mounted is a time-saving feature. If you had to wait the
  2722. twenty seconds or so it takes to mount a floppy every time you popped one out
  2723. of the slot in the Standard File dialog, you'd go mad. It's not perfect, but
  2724. until someone comes up with abetter solution we're stuck with it. 
  2725.  
  2726. ______________________________________________________________________
  2727. David A. G. Gillies                     (D.A.G.Gillies@bradford.ac.uk)
  2728.       University of Bradford, Bradford, West Yorkshire, England
  2729. (c) 1994 Wittgenstein and The Furniture Depository of The Living Dead
  2730.  
  2731. A little learning is a dangerous thing - but not half as dangerous as a
  2732. lot of ignorance.
  2733. - ---------------------REPLIES VIA EMAIL PLEASE-----------------------
  2734. _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
  2735.  
  2736. +++++++++++++++++++++++++++
  2737.  
  2738. >From D.A.G.Gillies@bradford.ac.uk (David Gillies)
  2739. Date: Fri, 13 May 1994 12:30:48 GMT
  2740. Organization: Unseen University, Ankh-Morpork
  2741.  
  2742. In article <2qtjf2$4us@unix.sri.com> mxmora@unix.sri.com (Matt Mora) writes:
  2743. >In article <1994May12.111049.29637@prz.tu-berlin.de> pcastine@tubprz.prz.tu-berlin.de (Peter Castine) writes:
  2744. >
  2745. >>No, no, no, no.
  2746. >>
  2747. >>You need the 'spit-out-the-disk-but-keep-it-mounted' feature in order
  2748. >>to copy disks on Macs with only one floppy drive (which is surely
  2749. >>the vast majority of machines out there). 
  2750. >
  2751. >nah, what we need to implement is Andy Herzfeld (sp?) velocity
  2752. >feature. Pick up a disk icon with the mouse and throw it off the desktop
  2753. >to eject it. :-) The disk icon would then glide across the desktop and when it
  2754. >the icon was completly off the desktop, it would eject. Kind of like when
  2755. >a disk falls off your desk. 
  2756. >
  2757. >If you didn't throw it hard enough it would glide to a halt some where on 
  2758. >your desktop.
  2759. >
  2760. >Ejecting a disk should be fun!
  2761. >
  2762. Great idea! Anyone want to write this? It could be a bit tricky...
  2763.  
  2764. ______________________________________________________
  2765. David A. G. Gillies     (D.A.G.Gillies@bradford.ac.uk)
  2766. (c) 1994 Wittgenstein's Amazing Underwater Supermarket
  2767. _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
  2768.  
  2769. +++++++++++++++++++++++++++
  2770.  
  2771. >From Antoine Paul Brusseau <ab2y+@andrew.cmu.edu>
  2772. Date: Fri, 13 May 1994 09:30:06 -0400
  2773. Organization: Carnegie Mellon, Pittsburgh, PA
  2774.  
  2775. Excerpts from netnews.comp.sys.mac.programmer: 13-May-94 Re: Apple's
  2776. blatant disrega.. by Peter Castine@tubprz.prz 
  2777. > >    If Apple had added a close box to disk icons, people wouldn't be
  2778. > >declaring this a violation of HIG. The problem is, the trash icons most
  2779. > >common analogy is that of a place one puts items in order to
  2780. > >*PERMANENTLY DESTROY THEM*. 
  2781. > *NO IT DOES NOT*. Drag some files to the trash. See the trash can
  2782. > get fat. Open the trash. There are your files. Select a file. Use
  2783. > the Put Away command. Hey, presto-the file is back where it came
  2784. > from. Drag another file onto the desktop. There it is--this is
  2785. > not permanent destruction.
  2786.  
  2787. I think you misread my post. I said "in order to *PERMANENTLY DESTOY
  2788. THEM*", not "so that they are *IMMEDIATELY DESTROYED*". To further the
  2789. analogy, if I put an object from my desk into the rubish bin, it is not
  2790. immediately destroyed. If I choose, I can take the object out any time
  2791. before the cleaning staff comes. This is the correct analogy, and it is
  2792. followed consistently with file icons. Putting a floppy disk into the
  2793. trash in order to eject it does not follow this analogy. This is the
  2794. point of my previous post.
  2795.  
  2796. Tony
  2797.  
  2798. +++++++++++++++++++++++++++
  2799.  
  2800. >From dowdy@apple.com (Tom Dowdy)
  2801. Date: Fri, 13 May 1994 15:40:32 GMT
  2802. Organization: Apple Computer, Inc.
  2803.  
  2804. In article <cwiltgen-030594195407@cwiltgen.pr.mcs.net>, cwiltgen@mcs.com
  2805. (Charles Wiltgen) wrote:
  2806. > In article <16674@lhdsy1.lahabra.chevron.com>,
  2807. > jjvbl@lhdsy1.lahabra.chevron.com (John V. Blzka) wrote:
  2808. > > Hello,
  2809. > > I've been working on a presentation on Human Factors Engineering.
  2810. > > I am using Apple's User Interface Guidelines as an example.  
  2811. > > What I would like to know is:
  2812. > >   Does Apple violate it's own Guidelines in any of it's System 7  
  2813. > >   software?
  2814. > >   If so, can I easily demonstrate it?
  2815. > How 'bout dragging a disk to the trash to eject it?
  2816.  
  2817. I'm not sure how this is a direct violation of the UI guidelines
  2818. (and maybe it is)...It *is* probably a non-intuative feature,
  2819. that wasn't well thought out for first implementation.
  2820.  
  2821. However, I'd like to ask you if you now use the "Put Away" menu
  2822. item in System 7, which performs the same function.  Or, do
  2823. you continue to drag the disk to the trash.  If you continue
  2824. to drag the disk to the trash -- why?  If we took away
  2825. that feature, would you complain?
  2826.  
  2827. -- 
  2828.  Tom Dowdy                  Internet: dowdy@apple.COM
  2829.  Apple Computer MS:302-3KS  UUCP: {sun,voder,amdahl,decwrl}!apple!dowdy
  2830.  1 Infinite Loop            AppleLink: DOWDY1
  2831.  Cupertino, CA 95014       
  2832.  "The 'Ooh-Ah' Bird is so called because it lays square eggs."
  2833.  
  2834. +++++++++++++++++++++++++++
  2835.  
  2836. >From mbishop@ovid.ccs.itd.umich.edu (Michael J. Bishop)
  2837. Date: 13 May 1994 16:28:51 GMT
  2838. Organization: University of Michigan
  2839.  
  2840. Peter Castine (pcastine@tubprz.prz.tu-berlin.de) wrote:
  2841. : mbishop@pliny.ccs.itd.umich.edu (Michael J. Bishop) writes:
  2842.  
  2843. : Anyone care to estimate what that would add to the price of a Mac?
  2844. : A simple mechanical switch isn't going to do the trick, you need
  2845. : something that will send a signal to the logic board, etc.
  2846.  
  2847. : And don't forget that adding, say $5, to manufacturing costs means
  2848. : a three digit price increse for the consumer.
  2849.  
  2850. : Still, it's not a bad idea. But see my next comment.
  2851.  
  2852. : >I personally *hate* having to select Shut Down to turn of my mac so the 
  2853. : >Hardware update was genius and much needed IMO.
  2854.  
  2855. : Using the power switch as a shortcut for Shut Down makes sense on a
  2856. : PowerBook for two reasons: 1) the switch already has the necessary
  2857. : connections to the logic board (you couldn't do this on an SE, where
  2858. : the power switch simply cuts of the power supply) and 2) you can
  2859. : normally reach the switch on a PB without any inconvenience. Many
  2860. : Quadra and Mac II boxes are stuck under a desk (and with them the
  2861. : diskette drives)--in this configuration, menu commands are considerably
  2862. : more convenient. And, although I use the PowerKey extension so I
  2863. : can drop into MacsBugs from the keyboard, I don't really want to
  2864. : have the Shut Down command anywhere on my keyboard--too easy
  2865. : to hit by accident (of course, some people *do* map some key
  2866. : combinations to the Shut Down command... and one of them wrote
  2867. : an extension so that Shut Down produces an Alert "Do you really
  2868. : want to shut down now?" because he hit the key combination by
  2869. : accident too often. This is progress :-? )
  2870.  
  2871. Ah ha! I can build on that. The ergonomic keyboard comes with an 
  2872. extension which allows the keyboard to switch the volume up and down. How 
  2873. hard would it be to use one of those "new" keys to eject the disk? Then 
  2874. both the power key and the "put away" key are both accessible from the 
  2875. keyboard. Apple adds new keys all the time that do cool new things. I 
  2876. think they could have added a "put away" key.
  2877.  
  2878. : -- 
  2879. : Peter Castine                  | Con'sis'ten'cy (n., pl. -cies)
  2880. : pcastine@prz.tu-berlin.de      | 1a) last refuge of the unimaginative
  2881. : -------------------------------| b) hobgoblin of little minds
  2882. :    ``Have Mac, will travel''   | (Apologies to Webster, Emerson, & Wilde)
  2883.  
  2884. --
  2885. _____________________________________________________________________________
  2886.  Michael Bishop     "The best way to predict the future is to invent it."
  2887.  mbishop@umich.edu                        - Alan Kay
  2888.  
  2889. +++++++++++++++++++++++++++
  2890.  
  2891. >From mwalker@netcom.com (Mel Walker)
  2892. Date: Fri, 13 May 1994 16:37:17 GMT
  2893. Organization: Committee to Elect Dan Quayle Lord of the Cosmos
  2894.  
  2895. Antoine Paul Brusseau (ab2y+@andrew.cmu.edu) wrote:
  2896. :     If Apple had added a close box to disk icons, people wouldn't be
  2897. : declaring this a violation of HIG. The problem is, the trash icons most
  2898. : common analogy is that of a place one puts items in order to
  2899. : *PERMANENTLY DESTROY THEM*.
  2900.  
  2901. No, the common analogy is that one puts items into a trash can in order 
  2902. to *GET RID OF THEM*. Thus, when I want to get rid of a disk, I throw it 
  2903. in the trash. I does not violate my expectations in the slightest.
  2904.  
  2905. : Putting a disk in the trash, does not do
  2906. : this. This violates peoples expectations. Thus, it is a poor UI design
  2907. : decision. Whereas, a close box is used to remove an item from the
  2908. : desktop. Putting a close box on disk icons would have built on an
  2909. : existing interface convention without violating any preexisting ones (I
  2910. : think:).
  2911.  
  2912. What happens when you double-click on the disk to open it, and hit the 
  2913. close box? Since the close box would take a sizeable amount of the disk 
  2914. icon, I figure that it would happen quite a bit. In addition, the close 
  2915. box would interfere with my cool custom icons. :-)
  2916.  
  2917. Just out of curiousity, are there any GUIs that put close boxes on a disk 
  2918. icon?
  2919. -- 
  2920. Mel Walker                                     mwalker@netcom.com
  2921.  
  2922. +++++++++++++++++++++++++++
  2923.  
  2924. >From Stephen Jonke <jonke@gsfc.nasa.gov>
  2925. Date: 13 May 1994 17:47:43 GMT
  2926. Organization: NASA GSFC
  2927.  
  2928. In article <1994May13.092802.16931@prz.tu-berlin.de> Peter Castine,
  2929. pcastine@tubprz.prz.tu-berlin.de writes:
  2930. >Changing functionality of commands between software versions
  2931. >is one of the worst possible violations of human interface design
  2932. >concievable. Think about it--what would happen if Ford swapped the
  2933. >position of the emergency brake and the gear shift. Or, if you're
  2934. >using automatic transmission, how about swapping the gas pedal
  2935. >and the brake.
  2936.  
  2937. I disagree with this opinion.  You can't compare these two things,
  2938. because the consequences are quite drastically different.  If you do what
  2939. you suggest with cars, people can be killed.  If you do what I suggest
  2940. with Empty Trash and duplicate, you risk people being annoyed once or
  2941. twice, then seeing that it's better and being happy with it.  That's not
  2942. much of risk and there is great reward.  If lots of people use the
  2943. current Eject Disk functionality for things other then copying, then they
  2944. could throw in a new command that does this (offhand I can't think of a
  2945. name) that is NOT "Eject Disk".
  2946.  
  2947. You can go overboard with consistency and this is a perfect example.  You
  2948. are being consistent with something that was wrong to start with.  That
  2949. is a greater mistake, IMHO.  Plus, Apple's goal these days is to attract
  2950. NEW Mac users and if there are quirks like the Eject Disk "feature", they
  2951. are going to pick these out and say "boy, this is stupid, I'm going back
  2952. to my PC which is just as good" (not that this is true, but we are
  2953. talking about PC users who are confinced their PCs are just as good!  :)
  2954.  
  2955. Actually, here's another alternative that would be a better, but not as
  2956. good as my first suggestion.  Keep Eject Disk and have it appear to do
  2957. the same as usual, but make it so that it no longer asks you to put the
  2958. disk in if you shutdown (or whatever.)  Also, you should be able to drag
  2959. the greyed disk icon to the trash similarly.  This is actually the way it
  2960. use to work anyway, right?
  2961.  
  2962. Steve
  2963.  
  2964. - -------------------
  2965.  jonke@gsfc.nasa.gov
  2966. - -------------------
  2967.  
  2968. +++++++++++++++++++++++++++
  2969.  
  2970. >From David Casseres <casseres@apple.com>
  2971. Date: Fri, 13 May 1994 17:46:08 GMT
  2972. Organization: Apple Computer, Inc.
  2973.  
  2974. In article <dowdy-130594083624@17.202.72.12> Tom Dowdy, dowdy@apple.com writes:
  2975. > I'm not sure how this is a direct violation of the UI guidelines
  2976. > (and maybe it is)...It *is* probably a non-intuative feature,
  2977. > that wasn't well thought out for first implementation.
  2978. > However, I'd like to ask you if you now use the "Put Away" menu
  2979. > item in System 7, which performs the same function.  Or, do
  2980. > you continue to drag the disk to the trash.  If you continue
  2981. > to drag the disk to the trash -- why?  If we took away
  2982. > that feature, would you complain?
  2983.  
  2984. I bet anything that if we took away that feature there would be howls of rage
  2985. from so many people that we'd put it right back in as quickly as possible.
  2986.  
  2987. I was around when this was invented, and I guarantee that everyone knew it was
  2988. unintuitive, and thought hard about it.  But everyone also knew that there
  2989. really had to be a way to eject a diskette with just a simple mouse gesture,
  2990. and no one could come up with a better way to do it.
  2991.  
  2992. There are lots of things about GUI design that simply can't be accounted for
  2993. in guidelines.  For example, when you drag a file from one folder to another,
  2994. it disappears from its original location and appears in the new location.
  2995.  
  2996. *Except*... if you are dragging it from one disk to another then it doesn't
  2997. disappear from the original location.  It's completely inconsistent and not
  2998. even intuitive, but it's *right*.
  2999.  
  3000. We know this because on the Lisa it worked the other way, and the file was
  3001. erased from its original disk after being copied to the new one.  And this
  3002. turned out to be *wrong*, even though it was consistent and intuitive.
  3003.  
  3004. Sometimes even the best guidelines need to be blatantly disregarded.
  3005.  
  3006. - -----------
  3007.  
  3008. David Casseres
  3009. Exclaimer: Hey!
  3010.  
  3011. +++++++++++++++++++++++++++
  3012.  
  3013. >From resnick@cogsci.uiuc.edu (Pete Resnick)
  3014. Date: 13 May 1994 18:44:39 GMT
  3015. Organization: University of Illinois at Urbana
  3016.  
  3017. Ron_Hunsinger@bmug.org (Ron Hunsinger) writes:
  3018.  
  3019. >resnick@cogsci.uiuc.edu (Pete Resnick) writes:
  3020.  
  3021. >>In article <2qido4$8c4@news.kth.se>, d88-jwa@dront.nada.kth.se (Jon Wdtte)
  3022. >>wrote:
  3023. >>
  3024. >>>Exactly how would the Swedish Finder know about the names of the
  3025. >>>Hindu special folders?
  3026. >>
  3027. >>The same way it knows what the names of the Swedish special folders are:
  3028. >>
  3029. >>    GetResource('fld#', 0);
  3030. >>
  3031.  
  3032. >Wouldn't work.  This would only tell the Swedish Finder the names of the 
  3033. >*Swedish* special folders.  Although...
  3034.  
  3035. >If Apple was hard-pressed, I suppose the active Finder could look in
  3036. >the boot blocks of the other System Folder's volume to get the name of
  3037. >the other Finder, then open the other Finder's resource fork and get the 
  3038. >folder names from it.  And do all this only if the destination folder 
  3039. >matches the id of the blessed folder (available from vcbFndrInfo).
  3040.  
  3041. I think you are getting confused here. The question is, if I drag to a
  3042. non-blessed system folder, why can't the Finder figure out where to
  3043. put the files? To realize it's a legitamate (albeit unblessed) system
  3044. folder in the first place, you must *already* notice that there is a
  3045. System and a Finder in that folder. You don't need to go looking in
  3046. boot blocks to figure that out; you simply need to look at file types.
  3047. Once you discover that there are appropriate System and Finder files
  3048. using the file types, you can then open the appropriate one (I forget
  3049. whether the fld# is in the System or the Finder; I believe it's the
  3050. former) and do the GetResource from that file (I guess using
  3051. Get1Resource instead of GetResource actually). You won't get the ones
  3052. from the Swedish system since the Hindu (or whatever) system is the
  3053. current resource file. It doesn't have to be the blessed folder since
  3054. any system folder will be reasonable to put things into appropriate
  3055. places.
  3056.  
  3057. Right?
  3058.  
  3059. pr
  3060. -- 
  3061. Pete Resnick             (...so what is a mojo, and why would one be rising?)
  3062. Graduate assistant - Philosophy Department, Gregory Hall, UIUC
  3063. System manager - Cognitive Science Group, Beckman Institute, UIUC
  3064. Internet: resnick@cogsci.uiuc.edu
  3065.  
  3066. +++++++++++++++++++++++++++
  3067.  
  3068. >From peirce@outpost.SF-Bay.org (Michael Peirce)
  3069. Date: 13 May 94 00:44:48 GMT
  3070. Organization: Peirce Software, Inc.
  3071.  
  3072.  
  3073. In article <zig.768162596@wc.novell.com> (comp.sys.mac.advocacy,comp.sys.mac.programmer), zig@wc.novell.com (Zig Zichterman) writes:
  3074. > One place Apple violates its suggested guidelines in in the Finder's
  3075. > "About This Macintosh..." menu item. The Mac HI Guidelines book (pages 67-70)
  3076. > suggests that the ellipsis (...) should appear only on menu items that 
  3077. > require *additional* information before they can complete (such as
  3078. > choosing a file from an Open... dialog, or setting up options in a
  3079. > Preferences... dialog, and so on). For menu items that execute without
  3080. > further information from the user, such as Cut, Copy, showing an About
  3081. > box, and so on, the ellipsis should not appear.
  3082. > After 10 years of tradition, who's going to really remove the ellipsis
  3083. > from their "About..." menu?
  3084.  
  3085. I've always interpretted the presence of an ellipsis to mean a dialog
  3086. will be called up, i.e. something will interupt you focus on the current
  3087. window.  Or more specifically, you'll have to do something to get
  3088. back to where you were.
  3089.  
  3090. With this interpretation, the About... is correct.
  3091.  
  3092. __ Michael Peirce        __ peirce@outpost.sf-bay.org
  3093. __ Peirce Software, Inc. __ 719 Hibiscus Place, Suite 301
  3094. __                       __ San Jose, California USA 95117-1844
  3095. __ Makers of: Smoothie & __ voice: +1.408.244.6554 fax: +1.408.244.6882
  3096. __    Peirce Print Tools __ AppleLink: peirce & AOL: AFC Peirce
  3097.  
  3098. +++++++++++++++++++++++++++
  3099.  
  3100. >From Antoine Paul Brusseau <ab2y+@andrew.cmu.edu>
  3101. Date: Fri, 13 May 1994 15:42:40 -0400
  3102. Organization: Carnegie Mellon, Pittsburgh, PA
  3103.  
  3104. Excerpts from netnews.comp.sys.mac.programmer: 13-May-94 Re: Apple's
  3105. blatant disrega.. by Mel Walker@netcom.com 
  3106. > No, the common analogy is that one puts items into a trash can in order 
  3107. > to *GET RID OF THEM*. Thus, when I want to get rid of a disk, I throw it 
  3108. > in the trash. I does not violate my expectations in the slightest.
  3109.  
  3110. Unfortunately, the most common consequence of getting rid of something
  3111. is that it is permanently destroyed (i.e., the trash icon is most often
  3112. used to destroy files). Thus, the association in many peoples' minds is
  3113. a place where one puts an item in order to permanently destroy it. The
  3114. reason I bring this up, is that more than a few people that I've taught
  3115. to use Apple computers have been shocked that putting a disk in the
  3116. trash can is the easiest way of ejecting a disk. Several non-technically
  3117. oriented people I know actively balk at using this feature because they
  3118. are afraid their data is going to be erased (no matter how many times I
  3119. reassure them it isn't). Philosophically and empirically, the evidence
  3120. indicates that this feature is more than a little dubious as a UI
  3121. shortcut.
  3122.  
  3123. Since many people including myself make extended use of this feature, it
  3124. is obviously desirible to have a UI shortcut for ejecting a disk (menus
  3125. are just too incovenient and command-y is too arcane). That's why I
  3126. think some other method (that doesn't violate common expectations), such
  3127. as having a close button on ejectable media volumes or dragging
  3128. ejectable media icons off the desktop, as a way of ejecting them is
  3129. preferable.
  3130.  
  3131. Tony
  3132.  
  3133. +++++++++++++++++++++++++++
  3134.  
  3135. >From Antoine Paul Brusseau <ab2y+@andrew.cmu.edu>
  3136. Date: Fri, 13 May 1994 15:55:08 -0400
  3137. Organization: Carnegie Mellon, Pittsburgh, PA
  3138.  
  3139. Excerpts from netnews.comp.sys.mac.programmer: 13-May-94 Re: Apple's
  3140. blatant disrega.. by David Casseres@apple.com 
  3141. > Sometimes even the best guidelines need to be blatantly disregarded.
  3142.  
  3143. That's by far the best argument I've heard in support of dragging icons
  3144. into the trash. But what about putting a close box on (or near) floppy
  3145. icons, or dragging them off the desktop in order to eject them? Both of
  3146. these methods sound intuitive and consistent (at least superficially).
  3147.  
  3148. Tony
  3149.  
  3150. +++++++++++++++++++++++++++
  3151.  
  3152. >From 103t_english@west.cscwc.pima.edu
  3153. Date: 14 May 94 04:04:01 MST
  3154. Organization: (none)
  3155.  
  3156. In article <Uhod=du00UzxE3WloB@andrew.cmu.edu>, Antoine Paul Brusseau <ab2y+@andrew.cmu.edu> writes:
  3157. >     If Apple had added a close box to disk icons, people wouldn't be
  3158. > declaring this a violation of HIG. The problem is, the trash icons most
  3159. > common analogy is that of a place one puts items in order to
  3160. > *PERMANENTLY DESTROY THEM*. Putting a disk in the trash, does not do
  3161. > this. This violates peoples expectations. Thus, it is a poor UI design
  3162. > decision. Whereas, a close box is used to remove an item from the
  3163. > desktop. Putting a close box on disk icons would have built on an
  3164. > existing interface convention without violating any preexisting ones (I
  3165. > think:).
  3166. > Tony
  3167.  
  3168.  
  3169. Now figger out how to make sure that the close box was clicked on and the user
  3170. wasn't trying to either select or open the file...
  3171.  
  3172.  
  3173. Lawson
  3174.  
  3175. +++++++++++++++++++++++++++
  3176.  
  3177. >From pcastine@jake.prz.tu-berlin.de (Peter Castine)
  3178. Date: Sat, 14 May 1994 10:31:04 GMT
  3179. Organization: PRZ TU-Berlin
  3180.  
  3181. Antoine Paul Brusseau <ab2y+@andrew.cmu.edu> writes:
  3182. >...more than a few people that I've taught
  3183. >to use Apple computers have been shocked that putting a disk in the
  3184. >trash can is the easiest way of ejecting a disk. Several non-technically
  3185. >oriented people I know actively balk at using this feature because they
  3186. >are afraid their data is going to be erased (no matter how many times I
  3187. >reassure them it isn't). 
  3188.  
  3189. So, what do the people do instaed of dragging the disk to the trash?
  3190. Before System 7.0, the alternative was to Eject and then trash the
  3191. shadow. Did users back then (or the 40% of machines still running
  3192. System <7) keep on doing this? Or did they get used to the idea of
  3193. the shortcut? (Anybody have any data on this? Experience? Anecdotes?)
  3194.  
  3195. Do new users running System 7.x still keep to the Put Away command 
  3196. (or the keyboard equivalent)? Or do they find the mouse gesture more
  3197. convenient?
  3198.  
  3199. When I've done Mac training (this is, admittedly, a while ago), I always
  3200. demonstrated the two-step method first, which seemed not to bother
  3201. people (except that it took two steps). *THEN* I showed the disk-to-trash
  3202. shortcut. SOme people like it. Some people get used to it. Others don't.
  3203.  
  3204. HIG lists no less than five different flavors of consistency. Only
  3205. one of these is consistency with people's expectations. Meeting the
  3206. expectations of ALL users is impossible (HIG is coy on this one, and
  3207. just says "it's difficult to meet the expectations of everyone."
  3208. It ain't difficult. It's 'mpossible.)
  3209.  
  3210. Take the following example:
  3211.  
  3212. I've trained people who expected the backspace key to work
  3213. like the left arrow (move the I-beam cursor to the left
  3214. in text editing without deleting characters). Why? Because that's
  3215. the way most typewriters work. 
  3216.  
  3217. How about this: Teach people who've never worked with a computer
  3218. before how to use a spreadsheet. They will invariably
  3219. type 'x' instead of '*' for multiplication.
  3220.  
  3221. Sorry for the continuing sermon. I really just wanted to know
  3222. how long it takes people to become comfortable with the disk-
  3223. to-trash shortcut. I suspect that (with the exception of
  3224. those who have been forced to work with a Mac and are determined
  3225. to hate any aspect of it they can), the time is resonably short.
  3226. -- 
  3227. Peter Castine                  | Con'sis'ten'cy (n., pl. -cies)
  3228. pcastine@prz.tu-berlin.de      | 1a) last refuge of the unimaginative
  3229. - -----------------------------| b) hobgoblin of little minds
  3230.    ``Have Mac, will travel''   | (Apologies to Webster, Emerson, & Wilde)
  3231.  
  3232. +++++++++++++++++++++++++++
  3233.  
  3234. >From pcastine@jake.prz.tu-berlin.de (Peter Castine)
  3235. Date: Sat, 14 May 1994 10:39:02 GMT
  3236. Organization: PRZ TU-Berlin
  3237.  
  3238. >Excerpts from netnews.comp.sys.mac.programmer: 13-May-94 Re: Apple's
  3239. >blatant disrega.. by David Casseres@apple.com 
  3240. >> Sometimes even the best guidelines need to be blatantly disregarded.
  3241.                                                  ~~~~~~~~~
  3242.  
  3243. No. The guidelines (all eleven of 'em, as well as a few other unstated
  3244. concerns such as efficiency and convenience for the user, as well as cost
  3245. and time for the developers) have to be balanced with one another.
  3246.  
  3247.  
  3248. -- 
  3249. Peter Castine                  | Con'sis'ten'cy (n., pl. -cies)
  3250. pcastine@prz.tu-berlin.de      | 1a) last refuge of the unimaginative
  3251. - -----------------------------| b) hobgoblin of little minds
  3252.    ``Have Mac, will travel''   | (Apologies to Webster, Emerson, & Wilde)
  3253.  
  3254. +++++++++++++++++++++++++++
  3255.  
  3256. >From bizarre@leland.stanford.edu (Bruce Templeton)
  3257. Date: Sat, 14 May 1994 13:51:42 -0800
  3258. Organization: Stanford University
  3259.  
  3260. In article <1994May14.103104.5587@prz.tu-berlin.de>,
  3261. pcastine@jake.prz.tu-berlin.de (Peter Castine) wrote:
  3262. > So, what do the people do instaed of dragging the disk to the trash?
  3263. > Before System 7.0, the alternative was to Eject and then trash the
  3264. > shadow. Did users back then (or the 40% of machines still running
  3265. > System <7) keep on doing this? Or did they get used to the idea of
  3266. > the shortcut? (Anybody have any data on this? Experience? Anecdotes?)
  3267. <deleted>
  3268. > Sorry for the continuing sermon. I really just wanted to know
  3269. > how long it takes people to become comfortable with the disk-
  3270. > to-trash shortcut. I suspect that (with the exception of
  3271. > those who have been forced to work with a Mac and are determined
  3272. > to hate any aspect of it they can), the time is resonably short.
  3273.  
  3274. I'm embarassed to admit, I had my Mac Plus for *two years* before I
  3275. realized that you could get rid of the ghost disk by dragging it to 
  3276. the trash.  I just sat there and swapped disks until it let me go.
  3277. When I got too many ghost disks on my desktop, I restarted my computer.
  3278. Note that I was a very novice user, and did not know anyone else who 
  3279. had a Macintosh.  I was very jealous of my friends who had eject 
  3280. buttons on their PC's.
  3281.  
  3282. When I got to college, someone dragged my disk with a paper on it to 
  3283. the trash and I almost had a heart attack.
  3284.  
  3285. As far as shortcuts go, Apple actually removed the one I really liked
  3286. with the introduction of System 7.  You could type Command-Option-E
  3287. and hold the option key down until the disk ejected and the ghost 
  3288. would disappear.  With the Put Away command, you have to select the 
  3289. disk with the mouse before it works.
  3290.  
  3291. Yup, Apple screwed up ejecting pretty bad.
  3292.  
  3293. -Bruce
  3294.  
  3295. -- 
  3296. |*Bruce Templeton                                      ______________ *|
  3297. |*bizarre@leland.stanford.edu                 DFOTB  /______________/|*|
  3298. |*Disclaimer:  The statements above reflect the      |  o   o   o  | |*|
  3299. |*opinions of virtually everyone I have ever met.    |_____________|/ *|
  3300.  
  3301. +++++++++++++++++++++++++++
  3302.  
  3303. >From oster@netcom.com (David Phillip Oster)
  3304. Date: Sat, 14 May 1994 23:02:06 GMT
  3305. Organization: Netcom Online Communications Services (408-241-9760 login: guest)
  3306.  
  3307.  
  3308. After all these years, surely the finder could have a little more Undo for
  3309.  
  3310. +++++++++++++++++++++++++++
  3311.  
  3312. >From tzs@u.washington.edu (Tim Smith)
  3313. Date: 14 May 1994 05:39:07 GMT
  3314. Organization: University of Washington School of Law, Class of '95
  3315.  
  3316. Speaking of how manipulating things on the screen should be fun, surely I'm
  3317. not the only one who wants to be able to move the cursor by having commands
  3318. for "rotate left", "rotate right", and "thrust", am I?
  3319.  
  3320. --Tim Smith
  3321.  
  3322. +++++++++++++++++++++++++++
  3323.  
  3324. >From shimpei@leland.Stanford.EDU (Shimpei Yamashita)
  3325. Date: 15 May 1994 09:32:28 GMT
  3326. Organization: Stanford University, CA 94305, USA
  3327.  
  3328. In article <1994May13.122546.950@bradford.ac.uk>,
  3329. David Gillies <D.A.G.Gillies@bradford.ac.uk> wrote:
  3330. :Of course 'Eject' ejects the disk. It enables you to remove it from the disk
  3331. :drive, doesn't it? That fits any reasonable definiton of eject in my book.
  3332. :It takes most people with an IQ higher than that of a potato to realise
  3333. :the difference between 'Eject', and 'Put Away'. For those amongst us who are
  3334. :not completely illiterate, the distinction is also pointed out in *the manual*
  3335.  
  3336. I've been using System 6 on a Plus since 1988. I saw System 7 for the first
  3337. time when I came to college, and I freely admit that it took me about
  3338. six months to realize that "Put Away" is the menu equivalent of dragging
  3339. the disk to the trash. It *is* counterintuitive that "ejecting the disk"
  3340. and "restoring files to their original folders" fall under the same command,
  3341. IMHO. And no, I could not have read the manual since they don't have 
  3342. System 7 manuals lying around in the computer clusters....
  3343.  
  3344.  
  3345. -- 
  3346. Shimpei Yamashita, Stanford University           shimpei@leland.stanford.edu
  3347.  
  3348. +++++++++++++++++++++++++++
  3349.  
  3350. >From stk@uropax.contrib.de (Stefan Kurth)
  3351. Date: 9 May 1994 02:13:04 +0200
  3352. Organization: Contributed Software GbR
  3353.  
  3354. Speaking of arrow keys in lists: what would be the correct behaviour when
  3355. the user types down-arrow, but nothing is currently selected? Should the
  3356. topmost or the bottom-most item be selected? The standard file package
  3357. behaves different from finder windows in this regard, which is a really
  3358. annoying inconsistency, if you ask me.
  3359.  
  3360. _____________________________________________________________________
  3361. Stefan Kurth              Berlin, Germany              stk@contrib.de
  3362.  
  3363. +++++++++++++++++++++++++++
  3364.  
  3365. >From gdl@stlawrence.maths (Greg Landweber)
  3366. Date: 15 May 1994 21:41:25 GMT
  3367. Organization: (none)
  3368.  
  3369. In article <2qjv6g$cj4@uropax.contrib.de> stk@uropax.contrib.de (Stefan Kurth) writes:
  3370.    Speaking of arrow keys in lists: what would be the correct behaviour when
  3371.    the user types down-arrow, but nothing is currently selected? Should the
  3372.    topmost or the bottom-most item be selected? The standard file package
  3373.    behaves different from finder windows in this regard, which is a really
  3374.    annoying inconsistency, if you ask me.
  3375.  
  3376. I'm not 100% sure, but I think that in such a situation the arrow keys
  3377. do nothing.  I'm using the ArrowKeyInList routine straight out of More
  3378. Macintosh Toolbox, and it returns empty handed when passed a list with
  3379. no current selection.  Of course, the sample code and the
  3380. documentation may not agree (and I seem to recall that the sample code
  3381. had a few bugs).
  3382.  
  3383. -- Greg
  3384.    gdl@maths.ox.ac.uk
  3385.  
  3386. +++++++++++++++++++++++++++
  3387.  
  3388. >From Bruce@hoult.actrix.gen.nz (Bruce Hoult)
  3389. Date: Mon, 16 May 1994 16:41:52 +1200 (NZST)
  3390. Organization: (none)
  3391.  
  3392. dowdy@apple.com (Tom Dowdy) writes:
  3393. > However, I'd like to ask you if you now use the "Put Away" menu
  3394. > item in System 7, which performs the same function.  Or, do
  3395. > you continue to drag the disk to the trash.
  3396.  
  3397. I can't remember the last time I dragged a disk to the trash.  It's
  3398. always <apple>-Y for me.
  3399.  
  3400. +++++++++++++++++++++++++++
  3401.  
  3402. >From ruhl@du.edu (ROBERT A. UHL )
  3403. Date: Mon, 16 May 1994 17:24:43 GMT
  3404. Organization: University of Denver
  3405.  
  3406. In article <2qtjl0$ob9@acme.gatech.edu> gt7344b@prism.gatech.edu (MMMMM MMMMM) writes:
  3407. >In article <1994May12.111049.29637@prz.tu-berlin.de> pcastine@tubprz.prz.tu-berlin.de (Peter Castine) writes:
  3408. >>In article <Cpnryv.CsE@du.edu> ruhl@du.edu (ROBERT A. UHL ) writes:
  3409. >>I honestly can *NOT* understand all this bitching about (3) above. If
  3410. >>you don't want to drag the disk to the trash, then DON'T DO IT. Hit
  3411. >>Command-Y and shut up. 
  3412. >>
  3413. I'd like to say that the above quote belongs to Peter castine, not me;
  3414. the poster misquoted. The quote is not at all my style.
  3415. -- 
  3416. - -------------------------------------------------------
  3417. | Bob Uhl | Spectre                  | Christos Anesti! |
  3418. | U of D  | Baron Robert von Raetzin | Alithos Anesti!  |
  3419. - -------------------------------------------------------
  3420.  
  3421. +++++++++++++++++++++++++++
  3422.  
  3423. >From Bruce@hoult.actrix.gen.nz (Bruce Hoult)
  3424. Date: Tue, 17 May 1994 18:14:49 +1200 (NZST)
  3425. Organization: (none)
  3426.  
  3427. stk@uropax.contrib.de (Stefan Kurth) writes:
  3428. > Speaking of arrow keys in lists: what would be the correct behaviour when
  3429. > the user types down-arrow, but nothing is currently selected? Should the
  3430. > topmost or the bottom-most item be selected? The standard file package
  3431. > behaves different from finder windows in this regard, which is a really
  3432. > annoying inconsistency, if you ask me.
  3433.  
  3434. It annoys me too.  I much prefer getting the topmost item in this situation,
  3435. and that's how I write my own programs.
  3436.  
  3437. I think Finder windows are the *only* place it happens the other way around,
  3438. and it's stupid.
  3439.  
  3440. Think how you select the third (say) item in a list.  In the Finder you need
  3441. to hit the up arrow once, then down twice.  Anywhere else you just hit down
  3442. three times (or hold the key down for items further down the list).
  3443.  
  3444. -- Bruce
  3445.  
  3446. +++++++++++++++++++++++++++
  3447.  
  3448. >From jdc0864@u.cc.utah.edu (Jeff Croft)
  3449. Date: 17 May 1994 01:31:02 -0600
  3450. Organization: University Of Utah Computer Center
  3451.  
  3452. David Gillies (D.A.G.Gillies@bradford.ac.uk) wrote:
  3453.  
  3454. : Keeping volumes mounted is a time-saving feature. If you had to wait the
  3455. : twenty seconds or so it takes to mount a floppy every time you popped one out
  3456. : of the slot in the Standard File dialog, you'd go mad. It's not perfect, but
  3457. : until someone comes up with abetter solution we're stuck with it. 
  3458.  
  3459. Gee. It's too bad that it takes that long to mount a floppy.
  3460.  
  3461.                  Jeff
  3462.  
  3463.  
  3464. +++++++++++++++++++++++++++
  3465.  
  3466. >From Ron_Hunsinger@bmug.org (Ron Hunsinger)
  3467. Date: Tue, 17 May 94 06:50:16 PST
  3468. Organization: Berkeley Macintosh Users Group
  3469.  
  3470. resnick@cogsci.uiuc.edu (Pete Resnick) writes:
  3471.  
  3472. >Ron_Hunsinger@bmug.org (Ron Hunsinger) writes:
  3473. >
  3474. >>If Apple was hard-pressed, I suppose the active Finder could look in
  3475. >>the boot blocks of the other System Folder's volume to get the name of
  3476. >>the other Finder, then open the other Finder's resource fork and get the 
  3477. >>folder names from it.  And do all this only if the destination folder 
  3478. >>matches the id of the blessed folder (available from vcbFndrInfo).
  3479. >
  3480. >I think you are getting confused here. The question is, if I drag to a
  3481. >non-blessed system folder, why can't the Finder figure out where to
  3482. >put the files? To realize it's a legitamate (albeit unblessed) system
  3483. >folder in the first place, 
  3484.  
  3485. You're right, I was confused here.  I had forgotten that it is now
  3486. permitted again to have more than one system folder on a volume.  I
  3487. still think it's spooky to do so, though.
  3488.  
  3489. >you must *already* notice that there is a
  3490. >System and a Finder in that folder. You don't need to go looking in
  3491. >boot blocks to figure that out; you simply need to look at file types.
  3492.  
  3493. Well, I think that looking at vcbFndrInfo for the directory id of the
  3494. blessed folder is easier than looking at file types.  But yeah, if you
  3495. want to support unblessed system folders, you will have to scan the 
  3496. files inside the folder.
  3497.  
  3498. I hadn't realized that the System and Finder files now had their own
  3499. unique type/creator.  Back on system 3 or so it was not uncommon for
  3500. people to create files with the same type/creator as the Finder, so
  3501. they wouldn't have to hassle with BNDL resources to give the file an
  3502. icon.  Apple started it (if memory serves me right, but I could be
  3503. wrong) by doing this with the Clipboard File and the Scrapbook File,
  3504. and then other vendors did the same with their "just-as-important"
  3505. data and preference files.
  3506.  
  3507. In light of that, are you sure that identifying the files by type/creator
  3508. is reliable?  I still find ZSYS/MACS and ZSYS/ERIK files on my disk that 
  3509. were put there by current non-Apple software.  I know that System 7 now 
  3510. uses zsys/MACS and FNDR/MACS for the System and Finder, but are you 
  3511. sure that nobody is going to try to get a free icon out of the new codes
  3512. like they did out of the old ones?  And like many people do now by giving
  3513. their preferences files a type of 'pref'?
  3514.  
  3515. Related Question That May Answer This Question: How do the utility 
  3516. programs that let you switch between system folders on the same volume
  3517. deal with the possibility that the folders might be in different
  3518. languages?  If they ignore the problem, using the System/Finder names
  3519. from the boot blocks, then you should also.  If they identify System/
  3520. Finder by their type/creator, as you are suggesting, and copy the
  3521. names to the boot blocks, then your argument gains a lot of support.
  3522.  
  3523. Similar Question:  What happens now when you copy files that have the
  3524. "wrong" names but the "right" type/creator into a folder on a volume
  3525. that does not already have a blessed folder?  That is, if I rename
  3526. System and Finder to something else, say "System copy" and "Finder copy",
  3527. and copy them into a folder on an otherwise blank disk, does that folder 
  3528. get blessed?  Should it?  Do those names get copied to the boot blocks?  
  3529. What if the names are longer than 15 bytes?  If the folder gets blessed, 
  3530. that bolsters your contention that a system folder is defined in terms of 
  3531. the types of the files within it, rather than their names.  And if not, 
  3532. you are of course free to argue that this is yet another oversight that
  3533. ought to be corrected, but you will then have the additional burden of
  3534. convincing us that this would be the correct behavior.  You would have
  3535. to answer questions like: What if I have two finders in the same folder 
  3536. under different names?  Which one is the real one?  What if I remove
  3537. one of them from the blessed folder?  Does the folder become unblessed,
  3538. or does the other finder get selected?  Which other one if I started
  3539. with more than two?
  3540.  
  3541. >Once you discover that there are appropriate System and Finder files
  3542. >using the file types, you can then open the appropriate one (I forget
  3543. >whether the fld# is in the System or the Finder; I believe it's the
  3544. >former) and do the GetResource from that file (I guess using
  3545. >Get1Resource instead of GetResource actually). You won't get the ones
  3546. >from the Swedish system since the Hindu (or whatever) system is the
  3547. >current resource file. It doesn't have to be the blessed folder since
  3548. >any system folder will be reasonable to put things into appropriate
  3549. >places.
  3550.  
  3551. You're right about the fld# resource being in the System file.  Too bad.
  3552. The resource map for the System file is huge, and it takes a while to
  3553. open it.  Of course, you only need to open it to get the folder names,
  3554. and you only need those if you are actually going to disburse files
  3555. into the appropriate subfolders, and you aren't going to do that until
  3556. the user responds to the dialog that comes up asking the user whether 
  3557. it's OK to do so.  All of which means you could hide the time it takes 
  3558. by doing it while the user is reading the dialog.
  3559.  
  3560. -Ron Hunsinger
  3561.  
  3562. +++++++++++++++++++++++++++
  3563.  
  3564. >From ruhl@du.edu (ROBERT A. UHL )
  3565. Date: 11 May 94 21:53:07 GMT
  3566. Organization: University of Denver
  3567.  
  3568. In article <zig.768162596@wc.novell.com> zig@wc.novell.com (Zig Zichterman) writes:
  3569. >One place Apple violates its suggested guidelines in in the Finder's
  3570. >"About This Macintosh..." menu item. The Mac HI Guidelines book (pages 67-70)
  3571. >suggests that the ellipsis (...) should appear only on menu items that 
  3572. >require *additional* information before they can complete (such as
  3573. >choosing a file from an Open... dialog, or setting up options in a
  3574. >Preferences... dialog, and so on). For menu items that execute without
  3575. >further information from the user, such as Cut, Copy, showing an About
  3576. >box, and so on, the ellipsis should not appear.
  3577.  
  3578. Oops...
  3579. I thought that the ellipsis indicated a dialog box (and, as far as I
  3580. know, that item is a dialog box).
  3581.  
  3582. >--Zig Zichterman
  3583. >ziggr@eWorld.com 
  3584. >
  3585.  
  3586.  
  3587. -- 
  3588. - -------------------------------------------------------
  3589. | Bob Uhl | Spectre                  | Christos Anesti! |
  3590. | U of D  | Baron Robert von Raetzin | Alithos Anesti!  |
  3591. - -------------------------------------------------------
  3592.  
  3593. ---------------------------
  3594.  
  3595. >From egurney@vcd.hp.com (Eddy J. Gurney)
  3596. Subject: List Manager clikLoop problem... but whose it?
  3597. Date: Mon, 9 May 1994 22:02:04 GMT
  3598. Organization: Hewlett-Packard VCD
  3599.  
  3600. Over the weekend, I was adding some new features to some lists I have
  3601. in my app, and came across an interesting problem.  Running under Think
  3602. C 7, all optimizations on.
  3603.  
  3604. I have a List Manager click loop, declared as follows (yes, it is declared
  3605. pascal Boolean; I know a Pascal boolean is 1 bit and a C boolean is 16
  3606. bits... and that Think C should take care of everything for me :-)...
  3607.  
  3608. pascal Boolean MyClickLoop(void);
  3609.  
  3610. now, if MyClickLoop looks like this:
  3611.  
  3612. pascal Boolean MyClickLoop(void)
  3613. {
  3614.     Boolaen result = true;
  3615.  
  3616.     return true;
  3617. }
  3618.  
  3619. everything works as expected.
  3620.  
  3621. BUT if MyClickLoop uses something like this:
  3622.  
  3623. pascal Boolean MyClickLoop(void)
  3624. {
  3625.     Boolean result = true;
  3626.  
  3627.     return result;
  3628. }
  3629.  
  3630. it *DOESN'T* work.  I compared the disassembly of the two; nothing
  3631. out of the ordinary, really:
  3632.  
  3633. First version (at least the important parts):
  3634.  
  3635. LINK    A6
  3636.  ...
  3637. MOVE.B  #$01,$0008(A6)
  3638. UNLK    A6
  3639. RTS
  3640.  
  3641. Second version:
  3642.  
  3643. LINK    A6
  3644. MOVE.L  D7,-(A7)
  3645. MOVEQ   #$01,D7
  3646.  ...
  3647. MOVE.B  D7,$0008(A6)
  3648. MOVE.L  (A7)+,D7
  3649. UNLK    A6
  3650. RTS
  3651.  
  3652. Now, this shouldn't make any difference, EXCEPT that the List Manager
  3653. (_Pack0) calls the user-defined clikLoop routine with the following 
  3654. code:
  3655.  
  3656. JSR     (A0)
  3657. BEQ     ...
  3658.  
  3659. As you can see, it immediately checks the Z condition code after the
  3660. routine finishes... which assumes that the last command executed in
  3661. the user-defined clikLoop routine sets that condition code correctly.
  3662. This is NOT the case in the second version, since the MOVE.L (A7)+,D7
  3663. (to restore the value of D7) clobbers the condition code set by the
  3664. MOVE.B D7,$0008(A6).  [If more than one register needed to be saved on
  3665. the stack and a MOVEM was used, this wouldn't matter since it doesn't
  3666. change the condition codes.  So this is kind of a "special" case (but
  3667. it SHOULD still work!)]  So my real clikLoop routine has a bunch of
  3668. "return true" and "return false" all over it, instead of a bunch of
  3669. "result = true" and "result = false" with one "return result" at the
  3670. end... 
  3671.  
  3672. Anyway... whose problem is this?  Should Think C be "smart" enough to
  3673. work around this, or is the List Manager doing a Bad Thing by assuming
  3674. the condition codes are valid without first popping something off the
  3675. stack?
  3676.  
  3677. --
  3678. Eddy J. Gurney N8FPW   Hewlett-Packard Company, Vancouver (USA!) Division
  3679. egurney@vcd.hp.com                       #include <standard-disclaimer.h>
  3680. "Failures are divided into two classes-- those who thought and never did,
  3681.       and those who did and never thought."     John Charles Salak
  3682.  
  3683. +++++++++++++++++++++++++++
  3684.  
  3685. >From sears@netcom.com (Daniel Sears)
  3686. Date: Tue, 10 May 1994 05:23:17 GMT
  3687. Organization: NETCOM On-line Communication Services (408 241-9760 guest)
  3688.  
  3689. Eddy,
  3690.  
  3691. your summary of the clikLoop problem was very good.
  3692. I've been having problems porting my clickLoop to the PPC
  3693. with its mixed mode madness and your summary clarified things.
  3694.  
  3695. On page 4-101 of Mo' Mac Toolbox, it says:
  3696.  
  3697.     A click-loop procedure should ordinarily set the Z flag to 1
  3698.     just before returning.  If a click-loop sets the Z flag to 0,
  3699.     then the LClick function immediately returns.
  3700.  
  3701. It later says in the Assembly Language Information section:
  3702.  
  3703.     Your click-loop procedure should ordinarily set register d0 to 1.
  3704.     To stop the LClick function from calling your procedure for the
  3705.     current mouse-down event, set register d0 to 0.
  3706.  
  3707. This second section could be a docubug or it could mean shut up,
  3708. just stop calling me.
  3709.  
  3710. As for whose problem this is, it sounds like a ThinkC code generation bug.
  3711. I can't think of any reason why
  3712.  
  3713.     return true; and result = true; return result; should be different.
  3714.  
  3715. Hope this helps.
  3716.  
  3717. Dan
  3718. -- 
  3719.  
  3720. E-mail:     sears@netcom.com
  3721. Phone:      415.695.0650
  3722. Address:    2440 16th Street #283
  3723.             San Francisco, CA 94103-4211
  3724.  
  3725. +++++++++++++++++++++++++++
  3726.  
  3727. >From leblonk@netcom.com (Marcel Blonk)
  3728. Date: Tue, 10 May 1994 08:32:14 GMT
  3729. Organization: NETCOM On-line Communication Services (408 241-9760 guest)
  3730.  
  3731. : As for whose problem this is, it sounds like a ThinkC code generation bug.
  3732. : I can't think of any reason why
  3733.  
  3734. It's definitely not a Think C bug, since C compilers don't have anything 
  3735. to do with returning condition codes as function results. Maybe the 
  3736. Think C manual says somewhere that the CC return values are undefined (but 
  3737. not likely, since there is NO reason at all to assume that the CC should 
  3738. have any significance)
  3739.  
  3740. so:
  3741.  
  3742. :         return true; and result = true; return result; should be different.
  3743.  
  3744. are EXACTLY equal in C terms.
  3745.  
  3746. Who to blaim? Apple I'd have to say. Their documentation says to declare 
  3747. the ClickLoop proc as a pascal Boolean returning function (in fact, the 
  3748. assembly-language note only reasserts that). So, if in this case, the 
  3749. ClickLoop is supposed to return with the Z-bit set appropiately, the 
  3750. documentation should have said so (and should have indicated that this 
  3751. routine can only be written with the appropiate assembler glue code) 
  3752. (It's a strange peace of programming interface anyway, since it also 
  3753. states that D5 contains the current mouse point "for your convenience". 
  3754. That's a real no-no, if you ask me. The least they could have done, is 
  3755. move D5 to D1 (it is eg. impossible to declare D5 as a pragma parameter, 
  3756. only D0-D1 and A0-A1 (maybe one more), since that is the convention that 
  3757. is used throughout the system)
  3758.  
  3759. Anyway, to conclude, seeing that the Z-bit has to be set appropiately, the 
  3760. only way to write a proper ClickLoop function, is to add assembler glue 
  3761. code. You can in no way rely on the C compiler to do this for you.
  3762.  
  3763. mb
  3764.  
  3765.  
  3766. +++++++++++++++++++++++++++
  3767.  
  3768. >From peter.lewis@info.curtin.edu.au (Peter N Lewis)
  3769. Date: Wed, 11 May 1994 14:06:00 +0800
  3770. Organization: NCRPDA, Curtin University
  3771.  
  3772. >On page 4-101 of Mo' Mac Toolbox, it says:
  3773. >
  3774. >        A click-loop procedure should ordinarily set the Z flag to 1
  3775. >        just before returning.  If a click-loop sets the Z flag to 0,
  3776. >        then the LClick function immediately returns.
  3777.  
  3778. This is correct for the 68k machines, at least in my experience.
  3779. >
  3780. >It later says in the Assembly Language Information section:
  3781. >
  3782. >        Your click-loop procedure should ordinarily set register d0 to 1.
  3783. >        To stop the LClick function from calling your procedure for the
  3784. >        current mouse-down event, set register d0 to 0.
  3785.  
  3786. This works only in that it sets the Z flag above.  My solution (in Pascal)
  3787. was to do it like this:
  3788.  
  3789. {$PUSH}
  3790. {$D-}
  3791.    function MyClickLoop: boolean; 
  3792. { returns the bloody equal flag for gods sake! }
  3793.    begin
  3794.       MyClickLoop := MyClickLoop2; { BE VERY CAREFUL!  Returns the equal flag! }
  3795.    end;
  3796. {$POP}
  3797.  
  3798. Comments left unchanged :-)
  3799.    Peter.
  3800. _______________________________________________________________________
  3801. Peter N Lewis <peter.lewis@info.curtin.edu.au>       Ph: +61 9 368 2055
  3802.  
  3803. +++++++++++++++++++++++++++
  3804.  
  3805. >From Dave Allcott <davidall@bedford.symantec.com>
  3806. Date: 11 May 1994 14:32:18 GMT
  3807. Organization: Symantec Corporation
  3808.  
  3809. In article <searsCpKMyu.Avp@netcom.com> Daniel Sears, sears@netcom.com writes:
  3810. >As for whose problem this is, it sounds like a ThinkC code generation bug.
  3811. >I can't think of any reason why
  3812. >
  3813. >    return true; and result = true; return result; should be different.
  3814. >
  3815. >Hope this helps.
  3816.  
  3817. I thinks it's still arguable but I'll see what we can do about it in the future.
  3818. We should at least have oddities like this documented.
  3819.  
  3820. Dave
  3821.  
  3822. Depending on condition codes between function calls. tsk tsk. :)
  3823.  
  3824. ---------------------------
  3825.  
  3826. >From Mark A. Saper <saper@umich.edu>
  3827. Subject: Opening a file with C standard i-o routines
  3828. Date: 9 May 1994 15:41:13 GMT
  3829. Organization: Biophysic, Univ. of Michigan
  3830.  
  3831. This is a question from a novice:
  3832.  
  3833. I am writing a drag and drop routine that handles AE's to open a
  3834. document.  The result from this is an FSSpec.  How can I use this to open
  3835. a file and read it with Think C's standard I/O routines like gets?  I can
  3836. open the file, read it into a buffer with Toolbox functions, but is there
  3837. any way to link the standard I/O stream with my allocated buffer?
  3838.  
  3839. Thanks for your help.
  3840.                                                                                                                         Mark Saper, saper@umich.edu
  3841.  
  3842. +++++++++++++++++++++++++++
  3843.  
  3844. >From rmah@panix.com (Robert S. Mah)
  3845. Date: Mon, 09 May 1994 19:01:12 -0500
  3846. Organization: One Step Beyond
  3847.  
  3848. Mark A. Saper <saper@umich.edu> wrote:
  3849.  
  3850. > I am writing a drag and drop routine that handles AE's to open a
  3851. > document.  The result from this is an FSSpec.  How can I use this to open
  3852. > a file and read it with Think C's standard I/O routines like gets?  I can
  3853. > open the file, read it into a buffer with Toolbox functions, but is there
  3854. > any way to link the standard I/O stream with my allocated buffer?
  3855.  
  3856. Translate the FSSpec to a full pathname and then send that to fopen.
  3857. Code to do this is on the developer CD's and on ftp.apple.com in 
  3858. /dts/mac/snippets/files/ (or somewhere like that)
  3859.  
  3860. Cheers,
  3861. Rob
  3862. ___________________________________________________________________________
  3863. Robert S. Mah  -=-  One Step Beyond  -=-  212-947-6507  -=-  rmah@panix.com
  3864.  
  3865. +++++++++++++++++++++++++++
  3866.  
  3867. >From marks77@aol.com (MarkS77)
  3868. Date: 9 May 1994 20:46:07 -0400
  3869. Organization: America Online, Inc. (1-800-827-6364)
  3870.  
  3871. This may not be the solution you want, but I've been extracting the file name,
  3872. using toolbox calls to set the current directory and just using the standard
  3873. C++ stream techniques to access the file.
  3874.  
  3875. Mark
  3876.  
  3877.  
  3878.  
  3879. +++++++++++++++++++++++++++
  3880.  
  3881. >From rmah@panix.com (Robert S. Mah)
  3882. Date: Tue, 10 May 1994 01:44:48 -0500
  3883. Organization: One Step Beyond
  3884.  
  3885. marks77@aol.com (MarkS77) wrote:
  3886.  
  3887. > This may not be the solution you want, but I've been extracting the file
  3888. > name, using toolbox calls to set the current directory and just using the
  3889. > standard C++ stream techniques to access the file.
  3890.  
  3891. Don't use working directory functions.  The main reason they exist is to
  3892. ensure backward compatibility with the old 400K disks (i.e. the MFS file 
  3893. system).
  3894.  
  3895. If you need to use standard ANSI (or UNIX or C++ streams) files use the
  3896. full
  3897. pathname.  This is 100% safe and guaranteed to always work.  All it takes
  3898. is
  3899. the addition of 1 function to create the path name from the FSSpec.
  3900.  
  3901. Cheers,
  3902. Rob
  3903. ___________________________________________________________________________
  3904. Robert S. Mah  -=-  One Step Beyond  -=-  212-947-6507  -=-  rmah@panix.com
  3905.  
  3906. +++++++++++++++++++++++++++
  3907.  
  3908. >From marks77@aol.com (MarkS77)
  3909. Date: 10 May 1994 23:42:02 -0400
  3910. Organization: America Online, Inc. (1-800-827-6364)
  3911.  
  3912. In article <rmah-090594190112@rmah.dialup.access.net>, rmah@panix.com (Robert
  3913. S. Mah) writes:
  3914.  
  3915. Don't use working directory functions.  The main reason they exist is to
  3916. ensure backward compatibility with the old 400K disks (i.e. the MFS file 
  3917. system).
  3918.  
  3919.  
  3920. Actually, I usually get an SFReply from Standard File and use the 
  3921. vRefNum to do a SetVol call. After this all I need is the file name 
  3922. to do use standard C++ I/O. Are we talking about the same thing?
  3923.  
  3924. Mark
  3925.  
  3926. +++++++++++++++++++++++++++
  3927.  
  3928. >From rmah@panix.com (Robert S. Mah)
  3929. Date: Wed, 11 May 1994 01:06:17 -0500
  3930. Organization: One Step Beyond
  3931.  
  3932. marks77@aol.com (MarkS77) wrote:
  3933.  
  3934. > rmah@panix.com (Robert S. Mah) writes:
  3935. > Don't use working directory functions.  The main reason they exist is to
  3936. > ensure backward compatibility with the old 400K disks (i.e. the MFS file 
  3937. > system).
  3938. > Actually, I usually get an SFReply from Standard File and use the 
  3939. > vRefNum to do a SetVol call. After this all I need is the file name 
  3940. > to do use standard C++ I/O. Are we talking about the same thing?
  3941.  
  3942. Yes, that's what I mean.  Don't use SetVol.  There's a tech note on it
  3943. that explains why and the inherent dangers.  Convert it to the full 
  3944. pathname, it's much safer.
  3945.  
  3946. Cheers,
  3947. Rob
  3948. ___________________________________________________________________________
  3949. Robert S. Mah  -=-  One Step Beyond  -=-  212-947-6507  -=-  rmah@panix.com
  3950.  
  3951. +++++++++++++++++++++++++++
  3952.  
  3953. >From Daniel C. Flatin <dcf@mps.ohio-state.edu>
  3954. Date: 11 May 1994 15:49:05 GMT
  3955. Organization: Physics Dept., The Ohio State University
  3956.  
  3957. Here is how I use the Mac FSSpec and the standard io calls. I think I
  3958. got some of this information from "The Mac Programming Public Domain FAQ"
  3959.  
  3960.  
  3961. Dan Flatin
  3962. Physics Department
  3963. The Ohio State University
  3964. dcf@mps.ohio-state.edu
  3965.  
  3966. /* ----------------------------------------------------------------------
  3967.     This is an fopen which uses a folder FSSpec for the file path instead
  3968.     of a full path name.
  3969. - -------------------------------------------------------------------- */
  3970. FILE    *fopenFS( char *name, FSSpec folder, const char *mode )
  3971. {
  3972.     FILE        *cFile;
  3973.     short       oldWDVol, oldTrueVol;
  3974.     long        oldDir, oldProc, folderID;
  3975.  
  3976.     cFile = nil;
  3977.     
  3978.     /* save current working directory */
  3979.     if ( GetVol( nil, &oldWDVol ) )
  3980.         return( nil );
  3981.     /* save current default volume info */
  3982.     if ( GetWDInfo( oldWDVol, &oldTrueVol, &oldDir, &oldProc ) )
  3983.         return( nil );
  3984.     FolderFFSpecToDirID( folder, &folderID );
  3985.     /* set selected info as default */
  3986.     if ( HSetVol( nil, folder.vRefNum, folderID ) )
  3987.         return( nil );
  3988.     
  3989.     fflush( nil );                      // flush all buffers
  3990.     
  3991.     cFile = fopen( name, mode );        // open the file
  3992.     
  3993.     HSetVol( nil, oldTrueVol, oldDir ); // restore default volume info
  3994.     
  3995.     SetVol( nil, oldWDVol );            // restore working directory
  3996.     return( cFile );
  3997. }
  3998.  
  3999.  
  4000. /* ----------------------------------------------------------------------
  4001.     This version of GetFOpen does not require a full path name to open
  4002.     the file. The use of full path names to identify files is frowned
  4003.     upon by Apple.
  4004. - -------------------------------------------------------------------- */
  4005. FILE    *GetFOpen( void )
  4006. {
  4007.     FILE                *cFile;
  4008.     StandardFileReply   mySFR;
  4009.     SFTypeList          myTypeList;
  4010.     char                name[64];
  4011.     short               oldWDVol, oldTrueVol;
  4012.     long                oldDir, oldProc;
  4013.  
  4014.     cFile = nil;
  4015.     
  4016.     myTypeList[0] = 'TEXT';
  4017.     StandardGetFile( nil, 1, myTypeList, &mySFR );
  4018.     
  4019.     if ( mySFR.sfGood )
  4020.     {
  4021.         /* save current working directory */
  4022.         if ( GetVol( nil, &oldWDVol ) )
  4023.             return( nil );
  4024.         /* save current default volume info */
  4025.         if ( GetWDInfo( oldWDVol, &oldTrueVol, &oldDir, &oldProc ) )
  4026.             return( nil );
  4027.         /* set selected info as default */
  4028.         if ( HSetVol( nil, mySFR.sfFile.vRefNum, mySFR.sfFile.parID ) )
  4029.             return( nil );
  4030.         
  4031.         PascalStrCpy( name, (char *)mySFR.sfFile.name );
  4032.         p2cstr( (unsigned char *)name );
  4033.         
  4034.         fflush( nil );                      // flush all buffers
  4035.         
  4036.         cFile = fopen( name, "r" );         // open the file
  4037.         
  4038.         HSetVol( nil, oldTrueVol, oldDir ); // restore default volume info
  4039.         
  4040.         SetVol( nil, oldWDVol );            // restore working directory
  4041.     }
  4042.     return( cFile );
  4043. }
  4044.  
  4045.  
  4046. /* ----------------------------------------------------------------------
  4047.     the folder FSSpec contains the volume reference number and the name.
  4048.     We need PBGetCatInfo() to get the directory ID. This routine does not
  4049.     (yet) check to see that the FFSpec does indeed describe a folder.
  4050. - -------------------------------------------------------------------- */
  4051. OSErr   FolderFFSpecToDirID( FSSpec folder, long *theDirID )
  4052. {
  4053.     CInfoPBRec              pb;
  4054.     OSErr                   err;
  4055.     
  4056.     pb.hFileInfo.ioCompletion = NULL;
  4057.     pb.hFileInfo.ioNamePtr = folder.name;
  4058.     pb.hFileInfo.ioVRefNum = folder.vRefNum;
  4059.     pb.hFileInfo.ioFDirIndex = 0;
  4060.     pb.hFileInfo.ioDirID = folder.parID;
  4061.  
  4062.     err = PBGetCatInfo( &pb, FALSE);
  4063.     
  4064.     if (  err == noErr)
  4065.         *theDirID = pb.dirInfo.ioDrDirID;
  4066.     else
  4067.         *theDirID = 0;
  4068.     
  4069.     return ( err );
  4070. }
  4071.  
  4072.  
  4073. /* ----------------------------------------------------------------------
  4074.     PascalStrCpy
  4075.  
  4076.     Just like strcpy except that it takes pascal strings as arguments.
  4077. - -------------------------------------------------------------------- */
  4078. char *PascalStrCpy( char *s1, char *s2 )
  4079. {
  4080.     *s1 = *s2;
  4081.     return( (char *)memcpy( s1+1, s2+1, *s1 ) );
  4082. }
  4083.  
  4084. ---------------------------
  4085.  
  4086. >From scouten@maroon.tc.umn.edu (Eric Scouten)
  4087. Subject: Sym CDK vs CodeWarrior PPC: first impressions
  4088. Date: Tue, 10 May 1994 14:23:26 GMT
  4089. Organization: University of Minnesota, Student Affairs
  4090.  
  4091. Just got my copy of Symantec's CDK yesterday and ran some tests of it
  4092. against CodeWarrior PPC on a large application. (Don't consider these tests
  4093. scientific by any means; it's just a first glance.)
  4094.  
  4095. The application was the Art Class demo from Symantec's TCL 2.0 demos. For
  4096. SC++ I used it unmodified from the TCL 2.0.1 disks; for CW, I used the
  4097. version that was patched in my CW TCL port (see my earlier post on
  4098. comp.sys.mac.oop.tcl for details). Here are the stats:
  4099.  
  4100.  
  4101.  SC++ CDK    CW/PPC
  4102.  --------   --------
  4103.     10         12     Compile project from scratch (160+ files)
  4104.      4          1     Link/build application
  4105.  
  4106.    330K       415K    Final application size
  4107.     85K       1.5M    Number of lines compiled* (see explanation below)
  4108.  
  4109.  
  4110. Tests were conducted on my PowerMac 6100/60, 16MB RAM, 160MB disk, virtual
  4111. memory off, very few extensions (only those required for debugging).
  4112.  
  4113.  
  4114. Getting the CDK to run in 16MB is a hassle. I have to maintain two copies
  4115. of the Think Project Manager on my disk; one set for 5MB partition (for
  4116. compiling), the other set for 3.5MB (for linking, to share with the 8.5MB
  4117. ToolServer partition).
  4118.  
  4119. To me, the CDK package is *much* less attractive than the Symantec 68K
  4120. compiler or either CodeWarrior compiler. It lacks the quick
  4121. compile-link-run turnaround that the others have, and debugging is a step
  4122. down from awful.
  4123.  
  4124. I don't have two Macs sitting side-by-side to do debugging, so the Apple
  4125. debugger that's included with the package is completely useless. Even if I
  4126. could convince another debugger to work with the CDK-built apps, it would
  4127. be only minimally useful, since there's no access to symbolic information
  4128. -- the CDK compiler emits line numbers only.
  4129.  
  4130. To its credit, the CDK package produces much smaller code (note the almost
  4131. 25% difference in app size above). I haven't tested execution speed between
  4132. the two compilers.
  4133.  
  4134.  
  4135. *Number of lines compiled: I attribute the relatively slow compile time for
  4136. CodeWarrior to the fact that most of the TCL headers couldn't be
  4137. precompiled. (CW doesn't allow class definitions in precompiled headers.
  4138. <hint, hint> ) Thus, CodeWarrior was compiling 17 times more code in only
  4139. 20% more time. (!)
  4140.  
  4141. When CW is able to manage class definitions in the headers, there will be
  4142. no comparison! <hint, hint>
  4143.  
  4144.  
  4145. BTW, the Bedrock Exception Library is pretty flaky when compiled under
  4146. either PPC compiler. Fairly simple things, like opening too many new
  4147. documents, cause fatal crashes. (It does seem to be more stable when
  4148. compiled under Symantec's 68K compiler.)
  4149.  
  4150.  
  4151. -Eric
  4152.  
  4153.  
  4154. -- 
  4155. Eric Scouten * Univ of Minn * Student Affairs * Minneapolis, MN 55455 USA
  4156.              *  <scouten@maroon.tc.umn.edu>   * +1 612 626 0746
  4157.  
  4158. I always thought that 'Intel Inside' was a warning required by
  4159. Truth in Advertising laws...
  4160.    -Anonymous
  4161.  
  4162. ---------------------------
  4163.  
  4164. >From cwat03@cs.aukuni.ac.nz (Christopher James F Waters)
  4165. Subject: Where is the inheritance in AE objects?
  4166. Date: 26 Apr 1994 23:19:37 GMT
  4167. Organization: University of Auckland
  4168.  
  4169. I am writing my first scriptable application. After coming to grips with IM
  4170. InterApplication Communications and the AE registry it isn't really as 
  4171. difficult as I expected. However there is one thing that puzzles me. The 
  4172. registry talks about inheritance all the time and it is mentioned briefly in
  4173. IM but there doesn't seem to be any way that inheritance is enforced. Is it
  4174. up to me to ensure that all subclasses include the properties and elements
  4175. of their superclass? I would have thought that there would be a field in the
  4176. aete resource for specifying the superclass, then it wouldn't be necessary to
  4177. redfine properties and elements that have been defined previously.
  4178.  
  4179. Also, am I right in thinking that the aete shouldn't contain definitions for
  4180. abstract classes?
  4181.  
  4182. Chris Waters.
  4183. Department of Electrical & Electronic Engineering
  4184. University of Auckland.
  4185.  
  4186. +++++++++++++++++++++++++++
  4187.  
  4188. >From rmah@panix.com (Robert S. Mah)
  4189. Date: Tue, 26 Apr 1994 21:13:01 -0500
  4190. Organization: One Step Beyond
  4191.  
  4192. cwat03@cs.aukuni.ac.nz (Christopher James F Waters) wrote:
  4193.  
  4194. > registry talks about inheritance all the time and it is mentioned briefly 
  4195. > in IM but there doesn't seem to be any way that inheritance is enforced.
  4196. > Is it up to me to ensure that all subclasses include the properties and 
  4197. > elements of their superclass? 
  4198.  
  4199. Yes.  The inheritance is conceptual only.
  4200.  
  4201. Cheers,
  4202. Rob
  4203. ___________________________________________________________________________
  4204. Robert S. Mah  -=-  One Step Beyond  -=-  212-947-6507  -=-  rmah@panix.com
  4205.  
  4206. +++++++++++++++++++++++++++
  4207.  
  4208. >From paul@ctalk.exnet.com (Paul G Smith)
  4209. Date: Wed, 27 Apr 94 12:49:03 GMT
  4210. Organization: commstalk, & Full Moon Software Inc
  4211.  
  4212.  
  4213. In article <2pk7i9$ffl@ccu2.auckland.ac.nz> (comp.sys.mac.programmer), cwat03@cs.aukuni.ac.nz (Christopher James F Waters) writes:
  4214. > I am writing my first scriptable application. After coming to grips with IM
  4215. > InterApplication Communications and the AE registry it isn't really as 
  4216. > difficult as I expected. However there is one thing that puzzles me. The 
  4217. > registry talks about inheritance all the time and it is mentioned briefly in
  4218. > IM but there doesn't seem to be any way that inheritance is enforced. Is it
  4219. > up to me to ensure that all subclasses include the properties and elements
  4220. > of their superclass? I would have thought that there would be a field in the
  4221. > aete resource for specifying the superclass, then it wouldn't be necessary to
  4222. > redfine properties and elements that have been defined previously.
  4223. > Also, am I right in thinking that the aete shouldn't contain definitions for
  4224. > abstract classes?
  4225. > Chris Waters.
  4226. > Department of Electrical & Electronic Engineering
  4227. > University of Auckland.
  4228.  
  4229. As it happens, the AppleScript 1.1 headers do define a constant you
  4230. can use to indicate object inheritance (this from ASRegistry.h):
  4231.  
  4232.     pInherits    = 0x6340235e,    //  'c@#^'  //
  4233.  
  4234. You can define a property, using this constant, to indicate an object
  4235. inherits the properties and elements of another class. Here is an
  4236. example of the aete definition for a sub-class:
  4237.  
  4238.         /* [4] */
  4239.         "my subclass",
  4240.         cSubClass,
  4241.         "A radio button",
  4242.         {    /* array Properties: 1 elements */
  4243.             /* [1] */
  4244.             "<inheritance>",
  4245.             pInherits,
  4246.             cSuperClass,
  4247.             "subclass of my superclass",
  4248.             reserved,
  4249.             singleItem,
  4250.             notEnumerated,
  4251.             readWrite,
  4252.             reserved, reserved, reserved, reserved,
  4253.             reserved, reserved, reserved, reserved, reserved,
  4254.             notFeminine,
  4255.             notMasculine,
  4256.             singular,
  4257.         },
  4258.         {    /* array Elements: 0 elements */
  4259.         },
  4260.  
  4261. The definition will say, to the user who examines your program
  4262. Dictionary using a Script Editor, that the class inherits from another;
  4263. the Dictionary display will format the property as something like:
  4264.     <inheritance> superclass name
  4265.  
  4266. The above is not the whole story. You do NOT have to duplicate all the
  4267. properties class by class, and the 'pInherits' property is no more than
  4268. a hint to the user, because AppleScript will allow any property,
  4269. declared anywhere in the aete, to be specified for 'get data' or 'set
  4270. data' for any class. In other words, AppleScript doesn't know or care
  4271. what object classes support what properties: it is up to the program
  4272. that is asked to resolve those properties to complain if an incorrect
  4273. property is specified. However, because users look to the Dictionary
  4274. to tell them what properties are valid for what object classes, you
  4275. should use the 'pInherits' mechanism to tell them what's going on.
  4276.  
  4277. Lastly, you might want to look out for the next issue of 'develop'
  4278. magazine, which includes an article I wrote about developing
  4279. OSA-savvy programs. It doesn't cover the 'pInherits' property, but it
  4280. does come with a lot of sample code that will be helpful to newcomers
  4281. to the OSA. ('develop' magazine is published by Apple Computer Inc.)
  4282.  
  4283.  
  4284. best regards, Paul
  4285.  
  4286. - --------------------------------------------------------------
  4287. Paul G Smith, Commstalk HQ          ||  UK ph: +44 727 844232
  4288. P O Box 116, ST ALBANS              ||    fax: +44 727 856139
  4289. Hertfordshire. AL1 2RL. UK          ||  US ph: 408 253 7199
  4290. & Full Moon Software, Inc           ||    fax: 408 252 2378
  4291. P O Box 700237, SAN JOSE, CA 95170  ||  AppleLink: COMMSTALK.HQ 
  4292.  
  4293. +++++++++++++++++++++++++++
  4294.  
  4295. >From Alan_B._Harper@bmug.org (Alan B. Harper)
  4296. Date: Tue,  3 May 94 10:41:34 PST
  4297. Organization: Berkeley Macintosh Users Group
  4298.  
  4299. As far as I can tell, the "inheritance" in apple-event objects is purely for 
  4300. the solopsistic inconvenience of the designer of the classes.  There seems to be
  4301.  
  4302. no support for inheritance, and there is no reason at all for abstract classes. 
  4303.  
  4304. I have been proceeding by ignoring inheritance, and it doesn't seem to be a 
  4305. problem.  I haven't written my aete yet, though.
  4306.  
  4307. BTW, is your application recordable?  How do you handle open events for 
  4308. files?  As far as I can tell, the only way to send yourself an "open file" apple
  4309.  
  4310. event is to parse the FSSpec into an absolute file name and then send it to
  4311. yourself.  
  4312. Do you know if there is a better way?
  4313.  
  4314. Alan
  4315.  
  4316. +++++++++++++++++++++++++++
  4317.  
  4318. >From d88-jwa@dront.nada.kth.se (Jon Wätte)
  4319. Date: 4 May 1994 07:40:33 GMT
  4320. Organization: The Royal Institute of Technology
  4321.  
  4322. In <001479A1.fc@bmug.org> Alan_B._Harper@bmug.org (Alan B. Harper) writes:
  4323.  
  4324. >files?  As far as I can tell, the only way to send yourself an "open file" apple
  4325.  
  4326. >event is to parse the FSSpec into an absolute file name and then send it to
  4327. >yourself.  
  4328. >Do you know if there is a better way?
  4329.  
  4330. Definately. You can put the FSSpec in the array of files, or you
  4331. can put aliases there, created by NewAlias. The latter is the most
  4332. preferrable.
  4333. -- 
  4334.  -- Jon W{tte, h+@nada.kth.se, Mac Hacker Deluxe (on a Swedish scale) --
  4335.  
  4336.    "Just because you're paranoid(P) doesn't mean they aren't after(A) you"
  4337.           !(P -> !A) == !(!P | !A) == !(!(P & A)) == P & A
  4338.  
  4339. +++++++++++++++++++++++++++
  4340.  
  4341. >From leonardr@netcom.com (Leonard Rosenthol)
  4342. Date: Wed, 4 May 1994 17:42:46 GMT
  4343. Organization: Aladdin Systems, Inc.
  4344.  
  4345. In article <2q7jhh$gqr@news.kth.se>, d88-jwa@dront.nada.kth.se (Jon Wätte)
  4346. wrote:
  4347.  
  4348. > In <001479A1.fc@bmug.org> Alan_B._Harper@bmug.org (Alan B. Harper) writes:
  4349. > >files?  As far as I can tell, the only way to send yourself an "open
  4350. file" apple
  4351. > >event is to parse the FSSpec into an absolute file name and then send it to
  4352. > >yourself.  
  4353. > >Do you know if there is a better way?
  4354. > Definately. You can put the FSSpec in the array of files, or you
  4355. > can put aliases there, created by NewAlias. The latter is the most
  4356. > preferrable.
  4357. >
  4358.    Yup,  that's the way.  And here is the code from my DropShell that
  4359. shows how to do it...
  4360.  
  4361. Leonard
  4362. - ---
  4363. /*
  4364.    This routine is the low level routine used by the SendODOCToSelf
  4365.    routine.  It gets passed the list of files (in an AEDescList)
  4366.    to be sent as the data for the 'odoc', builds up the event
  4367.    and sends off the event.  
  4368.  
  4369.    It is broken out from SendODOCToSelf so that a SendODOCListToSelf could
  4370.    easily be written and it could then call this routine - but that is left
  4371.    as an exercise to the reader.
  4372.    
  4373.    Read the comments in the code for the order and details
  4374. */
  4375. void _SendDocsToSelf (AEDescList *aliasList)
  4376. {
  4377.    OSErr       err;
  4378.    AEAddressDesc  theTarget;
  4379.    AppleEvent     openDocAE, replyAE;
  4380.  
  4381. /*
  4382.    First we create the target for the event.   We call another
  4383.    utility routine for creating the target.
  4384. */
  4385.    err = GetTargetFromSelf(&theTarget);
  4386.    if (err == noErr) {
  4387.       /* Next we create the Apple event that will later get sent. */
  4388.       err = AECreateAppleEvent(kCoreEventClass, kAEOpenDocuments,
  4389. &theTarget, kAutoGenerateReturnID, kAnyTransactionID, &openDocAE);
  4390.  
  4391.       if (err == noErr) {
  4392.          /* Now add the aliasDescList to the openDocAE */
  4393.          err = AEPutParamDesc(&openDocAE, keyDirectObject, aliasList);
  4394.  
  4395.          if (err == noErr) {
  4396.             /*
  4397.                and finally send the event
  4398.                Since we are sending to ourselves, no need for reply.
  4399.             */
  4400.             err = AESend(&openDocAE, &replyAE, kAENoReply +
  4401. kAECanInteract, kAENormalPriority, 3600, NULL, NULL);
  4402.  
  4403.             /*
  4404.                NOTE: Since we are not requesting a reply, we do not need to
  4405.                need to dispose of the replyAE.  It is there simply as a 
  4406.                placeholder.
  4407.             */
  4408.          }
  4409.  
  4410.       /* 
  4411.          Dispose of the aliasList descriptor
  4412.          We do this instead of the caller since it needs to be done
  4413.          before disposing the AEVT
  4414.       */
  4415.          err = AEDisposeDesc(aliasList);
  4416.       }
  4417.  
  4418.    /*and of course dispose of the openDoc AEVT itself*/
  4419.       err = AEDisposeDesc(&openDocAE);
  4420.    }
  4421. }
  4422.  
  4423. /*
  4424.    This is the routine called by SelectFile to send a single odoc to ourselves.
  4425.    
  4426.    It calls the above low level routine to do the dirty work of sending
  4427. the AEVT -
  4428.    all we do here is build a AEDescList of the file to be opened.
  4429. */
  4430. void SendODOCToSelf (FSSpec *theFileSpec) {
  4431.  
  4432.    OSErr    err;
  4433.    AEDescList  aliasList;
  4434.    AEDesc      aliasDesc;
  4435.    AliasHandle aliasH;
  4436.    
  4437.    /*Create the descList to hold the list of files*/
  4438.    err = AECreateList(NULL, 0, false, &aliasList);
  4439.  
  4440.    if (err == noErr) {
  4441.       /* First we setup the type of descriptor */
  4442.       aliasDesc.descriptorType = typeAlias;
  4443.  
  4444.       /*
  4445.          Now we add the file to descList by creating an alias and then
  4446.          adding it into the descList using AEPutDesc
  4447.       */
  4448.       err = NewAlias(NULL, theFileSpec, &aliasH);
  4449.       aliasDesc.dataHandle = (Handle)aliasH;
  4450.       err = AEPutDesc(&aliasList, 0, &aliasDesc);
  4451.       DisposHandle((Handle)aliasH);
  4452.  
  4453.       /*Now call the real gut level routine to do the dirty work*/
  4454.       _SendDocsToSelf(&aliasList);
  4455.  
  4456.       /*_SendDocsToSelf will dispose of aliasList for me*/
  4457.    }
  4458. }
  4459. - ------------------------------------------------------------------------
  4460. Leonard Rosenthol                      Internet:       leonardr@netcom.com
  4461. Director of Advanced Technology        AppleLink:      MACgician
  4462. Aladdin Systems, Inc.                  GEnie:          MACgician
  4463.  
  4464. +++++++++++++++++++++++++++
  4465.  
  4466. >From isis@netcom.com (Mike Cohen)
  4467. Date: Wed, 4 May 1994 17:45:41 GMT
  4468. Organization: ISIS International
  4469.  
  4470. Alan_B._Harper@bmug.org (Alan B. Harper) writes:
  4471.  
  4472. >BTW, is your application recordable?  How do you handle open events for 
  4473. >files?  As far as I can tell, the only way to send yourself an "open file" apple
  4474. >event is to parse the FSSpec into an absolute file name and then send it to
  4475. >yourself.  
  4476. >Do you know if there is a better way?
  4477.  
  4478. >Alan
  4479.  
  4480. No, the open file event takes an alias, not a file name. It's very easy to
  4481. create an alias from a FSSpec (or, you could just send the FSSpec, since 
  4482. there's a built-in coercion handler for alias <-> FSSpec.
  4483. -- 
  4484. Mike Cohen - isis@netcom.com
  4485. NewtonMail, eWorld: MikeC / ALink: D6734 / AOL: MikeC20
  4486.  
  4487. +++++++++++++++++++++++++++
  4488.  
  4489. >From greer@utdallas.edu (Dale M. Greer)
  4490. Date: 4 May 1994 19:57:23 GMT
  4491. Organization: The University of Texas at Dallas
  4492.  
  4493. Mike Cohen (isis@netcom.com) wrote:
  4494. > Alan_B._Harper@bmug.org (Alan B. Harper) writes:
  4495.  
  4496. > >BTW, is your application recordable?  How do you handle open events for 
  4497. > >files?  As far as I can tell, the only way to send yourself an "open file" apple
  4498. > >event is to parse the FSSpec into an absolute file name and then send it to
  4499. > >yourself.  
  4500. > >Do you know if there is a better way?
  4501.  
  4502. > >Alan
  4503.  
  4504. > No, the open file event takes an alias, not a file name. It's very easy to
  4505. > create an alias from a FSSpec (or, you could just send the FSSpec, since 
  4506. > there's a built-in coercion handler for alias <-> FSSpec.
  4507.  
  4508. It works with full file path names too.
  4509.  
  4510. --
  4511.  
  4512. Dale Greer, greer@utdallas.edu
  4513.  
  4514.  
  4515. +++++++++++++++++++++++++++
  4516.  
  4517. >From jwbaxter@olympus.net (John W. Baxter)
  4518. Date: Wed, 04 May 1994 20:30:55 -0700
  4519. Organization: Internet for the Olympic Peninsula
  4520.  
  4521. In article <2q8un3$he@news.utdallas.edu>, greer@utdallas.edu (Dale M.
  4522. Greer) wrote:
  4523.  
  4524. > Mike Cohen (isis@netcom.com) wrote:
  4525. > > Alan_B._Harper@bmug.org (Alan B. Harper) writes:
  4526. > > >BTW, is your application recordable?  How do you handle open events for 
  4527. > > >files?  As far as I can tell, the only way to send yourself an "open file" apple
  4528. > > >event is to parse the FSSpec into an absolute file name and then send it to
  4529. > > >yourself.  
  4530. > > >Do you know if there is a better way?
  4531. > > >Alan
  4532. > > No, the open file event takes an alias, not a file name. It's very easy to
  4533. > > create an alias from a FSSpec (or, you could just send the FSSpec, since 
  4534. > > there's a built-in coercion handler for alias <-> FSSpec.
  4535. > It works with full file path names too.
  4536.  
  4537. "It" only works with full path names if the application has prepared itself
  4538. for non-standard forms of the open document event, or something has
  4539. installed a system coercion for TEXT to FSSpec (TEXT to alias wouldn't help
  4540. typical applications).  Recently, "something" has indeed added a system
  4541. handler for TEXT to FSSpec...I believe that the something is AppleScript,
  4542. but it could be one of the apps running at this moment in my Mac.  But
  4543. there is one, which is why full path name works...relative path name
  4544. probably works, too.
  4545.  
  4546. The definition of the open document event calls for a list of aliases in
  4547. the direct parameter.  Since (a) an alias isn't what the application
  4548. ultimately wants (it wants an FSSpec) and (b) the Apple Event Manager will
  4549. coerce the alias to an FSSpec for you, and (c) even if something
  4550. [incorrectly] sends a single alias rather than a list of one alias, the
  4551. event handler should
  4552.  
  4553. 1.  ask for the direct parameter as a list (if a single item was there, you
  4554. get a list of that one item, courtesy of the AE Manager)
  4555. 2.  count the number of items in the list
  4556. 3a.  ask for each item from the list, as an FSSpec (since that's how you
  4557. want them).
  4558. 3b.  do something with each item.
  4559.  
  4560. The extended form of the open event has a list of object specifiers. 
  4561. Conveniently, the needed coercions are in place so that you can ask for
  4562. those, instead of the above, if you support the extended form.  That too is
  4563. new since the beginning (again probably it is AppleScript doing it...easy
  4564. to test by starting without AppleScript).
  4565. -- 
  4566. John Baxter    Port Ludlow, WA, USA  [West shore, Puget Sound]
  4567.    jwbaxter@pt.olympus.net
  4568.  
  4569. +++++++++++++++++++++++++++
  4570.  
  4571. >From jonpugh@netcom.com (Jon Pugh)
  4572. Date: Wed, 11 May 1994 07:58:17 GMT
  4573. Organization: NETCOM On-line Communication Services (408 241-9760 guest)
  4574.  
  4575. Alan B. Harper (Alan_B._Harper@bmug.org) wrote:
  4576. > As far as I can tell, the "inheritance" in apple-event objects is purely for 
  4577. > the solopsistic [sic] inconvenience of the designer of the classes.  There 
  4578. > seems to be no support for inheritance, and there is no reason at all for 
  4579. > abstract classes. 
  4580.  
  4581. > I have been proceeding by ignoring inheritance, and it doesn't seem to be a 
  4582. > problem.  I haven't written my aete yet, though.
  4583.  
  4584. This is essentially correct.  You do not need to worry about abstract classes
  4585. and there is no support for any objects, only their resolution.  Your OSL
  4586. callbacks do all the object stuff and they can be object oriented.  I'm doing
  4587. some abstract inherited objects in my current project.  I have an app with
  4588. two document types.  Since I want to be able to talk about documents, docfoos
  4589. and docbars, it makes sense to subclass them and implement them as inherited
  4590. objects.
  4591.  
  4592. As usual, all the work is on my shoulders, but I'm used to that.  ;)
  4593.  
  4594. Jon
  4595.  
  4596.  
  4597. ---------------------------
  4598.  
  4599. >From perlis_a@math.lsu.edu (Alexander Perlis)
  4600. Subject: [Q] How to prevent _DragWindow from selecting the window?
  4601. Date: 9 May 1994 20:32:29 GMT
  4602. Organization: Louisiana State University InterNetNews Site
  4603.  
  4604. The _DragWindow trap follows the mouse with an outline of a window and  
  4605. then moves the window to the new location when the user releases the  
  4606. mouse. After moving the window, unless the user held down the command-key  
  4607. when initiating the drag, the window is also selected.
  4608.  
  4609. I would like to let users move non-frontmost windows around even when the  
  4610. frontmost window is modal and must remain frontmost. If I could fake  
  4611. _DragWindow into thinking that the command-key had been held down on the  
  4612. previous mouseDown event, I'd be in business. Or if I could patch into  
  4613. _DragWindow in the appropriate place to prevent the window selection, I  
  4614. would also be in business.
  4615.  
  4616. However, tracing through the _DragWindow code is hopeless for my  
  4617. less-than-perfect abilities because this routine is in various pieces  
  4618. which involve calls to the infamous Layer Manager which we are not  
  4619. supposed to touch and not even supposed to try to understand. Patching  
  4620. _DragWindow seems to be a bad idea.
  4621.  
  4622. How can I convince _DragWindow that the command-key was held down? Or is  
  4623. there a better or more obvious way to prevent _DragWindow from selecting  
  4624. the window after the drag?
  4625.  
  4626. Mystified,
  4627. Alexander Perlis
  4628. perlis_a@math.lsu.edu
  4629.  
  4630. +++++++++++++++++++++++++++
  4631.  
  4632. >From dean@genmagic.com (Dean Yu)
  4633. Date: 10 May 1994 02:36:17 GMT
  4634. Organization: General Magic, Inc.
  4635.  
  4636. In article <2qm6kt$2m8h@te6000.otc.lsu.edu>, perlis_a@math.lsu.edu
  4637. (Alexander Perlis) wrote:
  4638. > How can I convince _DragWindow that the command-key was held down? Or is  
  4639. > there a better or more obvious way to prevent _DragWindow from selecting  
  4640. > the window after the drag?
  4641.  
  4642.   How about not calling DragWindow, and calling DragGrayRgn instead? If you
  4643. want to be really cool, you can call ClipAbove first so that the region is
  4644. clipped behind any window that is above the one that you're dragging. When
  4645. the user lets up, you can then call MoveWindow to move the window, passing
  4646. false in the front parameter to keep the window where it is.
  4647.  
  4648. -- Dean Yu
  4649.    Negative Ethnic Role Model
  4650.    General Magic, Inc.
  4651.  
  4652. +++++++++++++++++++++++++++
  4653.  
  4654. >From Guenther Blaschek <blaschek@jk.uni-linz.ac.at>
  4655. Date: Tue, 10 May 1994 10:16:02 CDT
  4656. Organization: University of Linz, Austria
  4657.  
  4658. In article <dean-090594193343@dean_yu.genmagic.com> Dean Yu, dean@genmagic.com
  4659. writes:
  4660. >> How can I convince _DragWindow that the command-key was held down? Or is
  4661. >> there a better or more obvious way to prevent _DragWindow from selecting
  4662. >> the window after the drag?
  4663. >
  4664. >  How about not calling DragWindow, and calling DragGrayRgn instead? If you
  4665. >want to be really cool, you can call ClipAbove first so that the region is
  4666. >clipped behind any window that is above the one that you're dragging. When
  4667. >the user lets up, you can then call MoveWindow to move the window, passing
  4668. >false in the front parameter to keep the window where it is.
  4669.  
  4670. Here's how I did it:
  4671.  
  4672. VAR
  4673.   windH,windV:Integer; {global variables}
  4674.  
  4675. PROCEDURE MyMoveWindow (theWindow: WindowPtr; h, v: Integer; front: Boolean);
  4676.   BEGIN
  4677.     windH := h;
  4678.     windV := v
  4679.   END;
  4680.  
  4681. PROCEDURE MyDragWindow (w: WindowPtr; pt: Point; bounds: Rect);
  4682.   VAR
  4683.     oldA5, oldMove: LongInt;
  4684.   BEGIN
  4685.     oldA5 := SetCurrentA5;
  4686.     oldMove := GetTrapAddress($A91B); {MoveWindow}
  4687.     SetTrapAddress(LongInt(@MyMoveWindow), $A91B); {patch MoveWindow}
  4688.     windH := -32000;
  4689.     DragWindow(w, pt, bounds);
  4690.     SetTrapAddress(oldMove, $A91B); {restore the patch}
  4691.     IF windH <> -32000 THEN {only if MyMoveWindow was called}
  4692.       MoveWindow(w, windH, windV, FALSE); {never move the window to front}
  4693.     oldA5 := SetA5(oldA5)
  4694.   END;
  4695.  
  4696. Call MyDragWindow instead of DragWindow.
  4697. MyDragWindow temporarily patches MoveWindow by replacing it with MyMoveWindow.
  4698. MyMoveWindow simply remembers the position where the window should be moved.
  4699. If windH<>-32000 (i.e., if MyMoveWindow was called during DragWindow), the
  4700. original MoveWindow is called with the last parameter set to FALSE, which
  4701. makes MoveWindow behave as if the command key had been pressed.
  4702.  
  4703.  e -- Guenther Blaschek                Tel.:   +43-732-2468-521
  4704. gu -- Johannes Kepler University Linz  Fax:    +43-732-2468-426
  4705.         Institute of Computer Science  e-Mail: gue@soft.uni-linz.ac.at
  4706.                   Software Department          Blaschek@jk.uni-linz.ac.at
  4707.                    Altenbergerstr. 69
  4708.                  A-4040 Linz, Austria
  4709.  
  4710. +++++++++++++++++++++++++++
  4711.  
  4712. >From Kevin.R.Boyce@gsfc.nasa.gov (Kevin R. Boyce)
  4713. Date: Tue, 10 May 1994 12:23:16 -0400
  4714. Organization: NASA/GSFC
  4715.  
  4716. perlis_a@math.lsu.edu (Alexander Perlis) wrote:
  4717.  
  4718. > The _DragWindow trap follows the mouse with an outline of a window and  
  4719. > then moves the window to the new location when the user releases the  
  4720. > mouse. After moving the window, unless the user held down the command-key  
  4721. > when initiating the drag, the window is also selected.
  4722.  
  4723. Here's some code that does what Dean Yu suggested (without using ClipAbove
  4724. -- that would add to the coolness).  This is a part of my DoMouseDown
  4725. routine.
  4726.  
  4727.  
  4728.     short        windowPart;
  4729.     WindowPtr    whichWindow;
  4730.     RgnHandle    rgn, clipRgn;
  4731.     Rect        r;
  4732.     long        lDistVH;
  4733.     short        h,v;
  4734.     GrafPtr        savePort;
  4735.     
  4736.     ...
  4737.     
  4738.     windowPart = FindWindow(evp->where, &whichWindow);
  4739.     switch(windowPart)
  4740.     {
  4741.     case inDrag:
  4742.         if( progDialog == whichWindow || psStopped == processingState )
  4743.         {
  4744.             /*
  4745.              * Just do a normal drag.
  4746.              */
  4747.             DragWindow(whichWindow, evp->where, &dragRect);
  4748.         }
  4749.         else
  4750.         {
  4751.             /*
  4752.              * If we're processing, and trying to drag the main window,
  4753.              * drag it but don't select it.  (We don't want to allow the user
  4754.              * to change any settings while processing.)  Calling DragWindow()
  4755.              * generates an activate event (and activates the frame) unless
  4756.              * the command key is held down.  Turning on cmdKey in the event
  4757.              * (*evp) doesn't help; DragWindow must check the keyboard.  Yuck.
  4758.              * So I drag it by hand.
  4759.              */
  4760.             GetPort( &savePort );
  4761.             SetPort( WMgrPort );
  4762.             rgn = NewRgn();
  4763.             clipRgn = NewRgn();
  4764.             GetClip( clipRgn );
  4765.             ClipRect( &screenBits.bounds );
  4766.             r = (*((WindowPeek)whichWindow)->strucRgn)->rgnBBox;
  4767.             RectRgn( rgn, &r );
  4768.             r = (*((WindowPeek)whichWindow)->contRgn)->rgnBBox;
  4769.             h = r.left - evp->where.h;
  4770.             v = r.top - evp->where.v;
  4771.             lDistVH = DragGrayRgn( rgn, evp->where, &dragRect, &dragRect, 0, nil );
  4772.             if( lDistVH != 0x80008000 )
  4773.             {
  4774.                 h += evp->where.h + ( lDistVH & 0xFFFF );
  4775.                 v += evp->where.v + ( (lDistVH & 0xFFFF0000) >> 16 );
  4776.                 MoveWindow( whichWindow, h, v, FALSE );
  4777.             }
  4778.             SetClip( clipRgn );
  4779.             SetPort( savePort );
  4780.             DisposeRgn( rgn );
  4781.             DisposeRgn( clipRgn );
  4782.         }
  4783.         break;
  4784.  
  4785. It works in my program, on my machine, with my system.  Anything else is
  4786. not guaranteed.  But at least it gets the local<->global coordinate
  4787. transformation right.
  4788. -- 
  4789. Kevin      Kevin.R.Boyce@gsfc.nasa.gov
  4790. You can blow out a candle, but you can't blow out a fire.
  4791. Once the flame begin to catch, the wind will blow it higher.
  4792.            --Peter Gabriel, 1980  _Biko_
  4793.  
  4794. +++++++++++++++++++++++++++
  4795.  
  4796. >From dean@genmagic.com (Dean Yu)
  4797. Date: 10 May 1994 16:47:56 GMT
  4798. Organization: General Magic, Inc.
  4799.  
  4800. In article <19940510.101602449417.NETNEWS@ALIJKU11>, Guenther Blaschek
  4801. <blaschek@jk.uni-linz.ac.at> wrote:
  4802. > Call MyDragWindow instead of DragWindow.
  4803. > MyDragWindow temporarily patches MoveWindow by replacing it with MyMoveWindow.
  4804. > MyMoveWindow simply remembers the position where the window should be moved.
  4805. > If windH<>-32000 (i.e., if MyMoveWindow was called during DragWindow), the
  4806. > original MoveWindow is called with the last parameter set to FALSE, which
  4807. > makes MoveWindow behave as if the command key had been pressed.
  4808.  
  4809.   This is really gross and is exactly why I tell people not to patch
  4810. things. This code assumes that DragWindow calls MoveWindow to move the
  4811. window after the drag is done. Sure, it's true today but it might not be
  4812. tomorrow. If someone like Microsoft makes this assumption, it shackles
  4813. system software from ever changing.
  4814.   Roll your own. Don't patch.
  4815.  
  4816. -- Dean Yu
  4817.    Negative Ethnic Role Model
  4818.    General Magic, Inc.
  4819.  
  4820. +++++++++++++++++++++++++++
  4821.  
  4822. >From d88-jwa@dront.nada.kth.se (Jon Wätte)
  4823. Date: 10 May 1994 17:25:26 GMT
  4824. Organization: The Royal Institute of Technology
  4825.  
  4826. In <Kevin.R.Boyce-100594122316@sofa.gsfc.nasa.gov> Kevin.R.Boyce@gsfc.nasa.gov (Kevin R. Boyce) writes:
  4827.  
  4828. >            GetClip( clipRgn );
  4829. >            ClipRect( &screenBits.bounds );
  4830.  
  4831. This won't work when you have more than one screen.
  4832. You should use
  4833.             SetClip ( GetGrayRgn ( ) ) ;
  4834. instead.
  4835.  
  4836. Interesting trivia: you can pass something "sufficiently close" to
  4837. what screenBits . bounds is as a limnitRect to DragWindow; the
  4838. toolbox will check for that case and figure out you mean to drag
  4839. the window within the whole gray region instead. Talk about
  4840. compatibility hack...
  4841.  
  4842. -- 
  4843.  -- Jon W{tte, h+@nada.kth.se, Mac Hacker Deluxe (on a Swedish scale) --
  4844.    The word "politics" is derived from the word "poly", meaning
  4845.    "many", and the word "ticks", meaning "blood sucking parasites".
  4846.                      -- Larry Hardiman
  4847.  
  4848. +++++++++++++++++++++++++++
  4849.  
  4850. >From Guenther Blaschek <blaschek@jk.uni-linz.ac.at>
  4851. Date: Wed, 11 May 1994 09:29:07 CDT
  4852. Organization: University of Linz, Austria
  4853.  
  4854. In article <dean-100594094430@dean_yu.genmagic.com> Dean Yu, dean@genmagic.com
  4855. writes:
  4856. >> Call MyDragWindow instead of DragWindow.
  4857. >> MyDragWindow temporarily patches MoveWindow by replacing it with
  4858. MyMoveWindow.
  4859. >> MyMoveWindow simply remembers the position where the window should be moved.
  4860. >> If windH<>-32000 (i.e., if MyMoveWindow was called during DragWindow), the
  4861. >> original MoveWindow is called with the last parameter set to FALSE, which
  4862. >> makes MoveWindow behave as if the command key had been pressed.
  4863. >
  4864. >  This is really gross and is exactly why I tell people not to patch
  4865. >things. This code assumes that DragWindow calls MoveWindow to move the
  4866. >window after the drag is done. Sure, it's true today but it might not be
  4867. >tomorrow. If someone like Microsoft makes this assumption, it shackles
  4868. >system software from ever changing.
  4869. >  Roll your own. Don't patch.
  4870.  
  4871. It is correct that the code assumes that DragWindow calls MoveWindow,
  4872. but I did not guess that or get this knowledge thru experiments.
  4873. Rather, IT'S DOCUMENTED IN INSIDE MACINTOSH!
  4874.  
  4875. IM Vol. I, p. 289:
  4876. "... When the mouse button is released, DragWindow calls MoveWindow to move
  4877. theWindow to the location to which it was dragged. If theWindow isn't the
  4878. active window (and the Command key wasn't being held down), DragWindow
  4879. makes it the active window by passing TRUE for the front parameter when
  4880. calling MoveWindow. ..."
  4881.  
  4882. I believe that temporarily patching MoveWindow is actually safer than
  4883. re-implementing DragWindow. If, for some reason, the mechanism to move
  4884. windows changed, the re-implementation would not work any longer, whereas
  4885. my solution would still work because the new DragWindow would be called
  4886. which would then call MoveWindow -- and that's guaranteed because it is
  4887. documented.
  4888.  
  4889.  e -- Guenther Blaschek                Tel.:   +43-732-2468-521
  4890. gu -- Johannes Kepler University Linz  Fax:    +43-732-2468-426
  4891.         Institute of Computer Science  e-Mail: gue@soft.uni-linz.ac.at
  4892.                   Software Department          Blaschek@jk.uni-linz.ac.at
  4893.                    Altenbergerstr. 69
  4894.                  A-4040 Linz, Austria
  4895.  
  4896. ---------------------------
  4897.  
  4898. >From parkb@bigbang.Stanford.EDU (Brian Park)
  4899. Subject: [Q] casting Str255 <--> (char*)
  4900. Date: 6 May 1994 21:07:07 GMT
  4901. Organization: Stanford University
  4902.  
  4903. I'm having a little problem understanding casting a (char*) to
  4904. (Str255), with strict prototype checks.
  4905. Consider the following small code segment in THNIK C 7.0:
  4906.  
  4907. void do_pascal(Str255 p);
  4908. void do_c(char *c)
  4909. {
  4910.     char t[256];
  4911.  
  4912.     strcpy(t, c);
  4913.     CtoPStr(t);
  4914.     do_pascal(t);    /* gives compile time error here */
  4915. }
  4916.  
  4917. It gives an error, saying prototype doesn't match.  Now I try
  4918.  
  4919.     do_pascal((Str255)t);    /* error */
  4920.     do_pascal((Str255*)t);    /* error */
  4921.     do_pascal(*(Str255*)t); /* compiles */
  4922.  
  4923. Obviously, I thought I understood C strings/arrays, but I don't.
  4924. Shouldn't the first one work?  I don't even understand what the
  4925. third one is saying, "convert t into a pointer to a pointer to array
  4926. of 256 characters, then convert it to a pointer to an array of 256 char"?
  4927. That's what I said in the first one. :-)
  4928.  
  4929. Brian Park
  4930.  
  4931. +++++++++++++++++++++++++++
  4932.  
  4933. >From Carl R. Osterwald <carl_osterwald@nrel.gov>
  4934. Date: Fri, 6 May 1994 00:16:10 GMT
  4935. Organization: National Renewable Energy Laboratory
  4936.  
  4937. In article <2qebhr$2lk@nntp2.Stanford.EDU> Brian Park,
  4938. parkb@bigbang.Stanford.EDU writes:
  4939. >I'm having a little problem understanding casting a (char*) to
  4940. >(Str255), with strict prototype checks.
  4941. >Consider the following small code segment in THNIK C 7.0:
  4942. >
  4943. >void do_pascal(Str255 p);
  4944. >void do_c(char *c)
  4945. >{
  4946. >    char t[256];
  4947. >
  4948. >    strcpy(t, c);
  4949. >    CtoPStr(t);
  4950. >    do_pascal(t);    /* gives compile time error here */
  4951. /****argument does not match prototype****/
  4952. >}
  4953. >
  4954. >It gives an error, saying prototype doesn't match.  Now I try
  4955. >
  4956. >    do_pascal((Str255)t);    /* error */
  4957. /****illegal cast****/
  4958. >    do_pascal((Str255*)t);    /* error */
  4959. /****argument does not match prototype****/
  4960. >    do_pascal(*(Str255*)t); /* compiles */
  4961.  
  4962. The Macintosh header files define Pascal strings with _unsigned chars_,
  4963. like:
  4964.   unsigned char Str255[256], Str63[64], Str31[32], *StringPtr;
  4965.  
  4966. So the argument to do_pascal is really a pointer to an unsigned char. 
  4967. Your first attempt to call do_pascal is rejected because t is a pointer
  4968. to a normal c char.  The second fails because you are trying to cast a
  4969. pointer into an array.  The third fails because you cast a pointer to an
  4970. unsigned char into a pointer to an array, which is different to the
  4971. compiler.  The last one works (compiles) because you dereference the
  4972. pointer to an array.  I don't think it will give the right answer,
  4973. though.  So, you can change the do_pascal call to:
  4974.   do_pascal( (unsigned char *)t );
  4975.  
  4976. Better yet, change the argument to do_pascal to a StringPtr, and you end
  4977. up with:
  4978. void do_pascal(StringPtr p);
  4979. void do_c(char *c)
  4980. {
  4981.     char t[256];
  4982.  
  4983.     strcpy(t, c);
  4984.     CtoPStr(t);
  4985.     do_pascal( (StringPtr)t );
  4986. }
  4987.  
  4988. +++++++++++++++++++++++++++
  4989.  
  4990. >From Shahid Alam <shahid@mail.utexas.edu>
  4991. Date: 7 May 1994 00:07:25 GMT
  4992. Organization: UT Austin/General Libraries/Library Systems
  4993.  
  4994. In article <2qebhr$2lk@nntp2.Stanford.EDU> Brian Park,
  4995. parkb@bigbang.Stanford.EDU writes:
  4996. > I'm having a little problem understanding casting a (char*) to
  4997. > (Str255), with strict prototype checks.
  4998. > Consider the following small code segment in THNIK C 7.0:
  4999. > void do_pascal(Str255 p);
  5000. > void do_c(char *c)
  5001. > {
  5002. >     char t[256];
  5003. >     strcpy(t, c);
  5004. >     CtoPStr(t);
  5005. >     do_pascal(t);    /* gives compile time error here */
  5006. > }
  5007.  
  5008. The definition of Str255 is
  5009.  
  5010.     typedef unsigned char Str255[256];
  5011.             ^^^^^^^^
  5012. It's that unsigned that's causing this statement to be flagged as an
  5013. error:
  5014.  
  5015.     char[256]   <>    unsigned char[256]
  5016.  
  5017. With complete typechecking this conversion must be explicit. However,
  5018. explicit conversion is also a problem since, you cannot typecast to
  5019. array.  Arrays, while glorified pointers, are special in that they
  5020. cannot represent an lvalue, and similarly cannot be cast to. Which is
  5021. what your problem in the next statement is:
  5022.  
  5023. > It gives an error, saying prototype doesn't match.  Now I try
  5024. >     do_pascal((Str255)t);    /* error */
  5025.  
  5026. In order to cast to an array you must cast to the pointer to the array.
  5027. The following does not work however, because here you are basically
  5028. typecasting a "char[256]", conceptually same as "char*" in C, which is
  5029. what t is, to a "unsigned char[256]*", conceptually "unsigned char**",
  5030. thus the problem.
  5031.  
  5032.  
  5033. >     do_pascal((Str255*)t);    /* error */
  5034.  
  5035. And the following typecast, "char[256]*" (pointer to t, or pointer to
  5036. array of char) to "unsigned char[256]*" (String255*, or pointer to an
  5037. array of unsigned char), works:
  5038.  
  5039. >     do_pascal(*(Str255*)t); /* compiles */
  5040. >
  5041. > Obviously, I thought I understood C strings/arrays, but I don't.
  5042. > Shouldn't the first one work?  I don't even understand what the
  5043. > third one is saying, "convert t into a pointer to a pointer to array
  5044. > of 256 characters, then convert it to a pointer to an array of 256 char"?
  5045. > That's what I said in the first one. :-)
  5046.  
  5047. This is all as I understand it.  I don't have K&R handy.  If I am mistaken,
  5048. I'm sure somebody will be kind enough to point it out.
  5049.  
  5050. > Brian Park
  5051. _____________________________________________________________________________
  5052. Shahid M. Alam                                        
  5053. shahid@mail.utexas.edu
  5054.  
  5055. +++++++++++++++++++++++++++
  5056.  
  5057. >From parkb@bigbang.Stanford.EDU (Brian Park)
  5058. Date: 9 May 1994 02:12:33 GMT
  5059. Organization: Stanford University
  5060.  
  5061. Carl R. Osterwald  <carl_osterwald@nrel.gov> wrote:
  5062. >So the argument to do_pascal is really a pointer to an unsigned char. 
  5063. [...]
  5064. >  do_pascal( (unsigned char *)t );
  5065.  
  5066. yes, yes!  Now I get it!  I did know that (char *) != (unsigned char *), 
  5067. but didn't connect it to this problem.  Feel pretty stupid now.  
  5068. I still think that casting to (Str255) should be legal but who am I to
  5069. argue with a compiler?  As Carl suggested, the proper way around all
  5070. this is to use the pre-defined type StringPtr.  Thanks all.
  5071.  
  5072. Brian Park
  5073.  
  5074. ---------------------------
  5075.  
  5076. End of C.S.M.P. Digest
  5077. **********************
  5078.  
  5079.  
  5080.  
  5081.